Dict als Modell field
Möchte ich hinzufügen, dass ein dict
Feld, um ein Modell, Anzeige der dict
auf den admin, und in der Lage sein, um es zu Bearbeiten in der admin.
Ich habe zum Beispiel eine Beziehung
dict = { 'sister' : rel_score, 'mother' : rel_score, 'father': rel_score}
wo rel_score
(default = 0) ist die Punktzahl für jede Beziehung. Ich möchte diesen speichern dict
zu meinem Modell und zeigen Sie es in der admin, so dass ich zuordnen kann, diese rel_score für jede Beziehung auf meine admin.
Auch, irgendein Beispiel, wie das zuweisen von scores (priorisieren) zu verschiedenen Elementen, und geben Werte zurück, die nach diesen zugewiesen erzielt, wäre echt hilfreich.
- mögliche Duplikate von Informationen zum speichern eines Wörterbuchs auf eine Django-Modell?
- Diese Frage ist schon ziemlich alt. Sowohl django und die verfügbaren apps habe sich viel verändert, seit dann, so könnte es sein, neue Ansätze jetzt.
- Konnte verwenden Sie ein json-Feld zur Darstellung der dict? github.com/bradjasper/django-jsonfield Andere apps, die auch json modelfields: djangopackages.com/grids/g/json-fields
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ist es nicht wirklich möglich ist, eine DictField, da die zugrunde liegende Datenbank wird nicht unterstützt, die Art der Daten Struktur.
Haben, könnten Sie einen RelationshipScore Modell zum speichern Ihrer Beziehungen und eine ForeignKey von Sie zu Ihrem bestehenden Modell (ich benutz Benutzer als ein Beispiel). eg:
Könnte man dann hinzufügen von Funktionen zu Ihrem bestehenden Modell, um die Werte:
Als von Django 1.8, postgres-Nutzer haben auch die Möglichkeit, mit einem HStore Feld.
Postgres-Benutzer verwenden können, die jsonfield dargestellt :
werden und innerhalb Ihrer app :
https://docs.djangoproject.com/es/1.9/ref/contrib/postgres/fields/#jsonfield