Ich versuche, eine viele zu eins-Beziehung zu machen und in der Lage zu sein, es zu kontrollieren (fügen Sie -remove usw.) über das Admin-Panel hinzu. Also das ist mein Model.py:Wie man viele zu einer Beziehung in Django verwaltet
from django.db import models
class Office(models.Model):
name = models.CharField(max_length=30)
class Province(models.Model):
numberPlate = models.IntegerField(primary_key=True)
name = models.CharField(max_length=20)
office = models.ForeignKey(Office)
Ich möchte mein Modell erlauben eine Provinz mehrere Office zu haben.
Also in meinem admin.py:
class ProvinceCreator(admin.ModelAdmin):
list_filter = ['numberPlate']
list_display = ['name', 'numberPlate','office']
class OfficeCreator(admin.ModelAdmin):
list_display = ['name']
Das scheint mir richtig, aber wenn ich versuche, eine neue Provinz mit dem Admin-Panel hinzuzufügen, erhalte ich diese:
TemplateSyntaxError at /admin/haritaapp/province/
Caught an exception while rendering: no such column: haritaapp_province.office_id
Dank
endlich konnte ich es funktionieren, sogar "python manage.py syncdb" würde nicht genug, also musste ich die sqlite3 db löschen und es neu :) Eine kleine Frage tho, fremde Elemente zeigen als Province_object beim Auswählen/Hinzufügen. Wie man es repariert, so dass es stattdessen den Namen anzeigt? Grüße –
oh selbst bearbeiten: \t def __unicode __ (self): \t Rückkehr self.name hat den Job für mich: p –
in ref "Django nicht automatisch neue Spalten hinzufügen" - Django-Süd macht einen guten Job Modelländerungen automatisch zu verwalten, obwohl ich wünschte, das Migrationsbenennungsschema wäre mehr Multi-Dev-freundlich. – David