Próbuję nawiązać wiele do jednego związku i chcę go kontrolować (dodawać - usuwać itp.) Za pośrednictwem panelu administracyjnego. To jest mój model.py:Jak zarządzać wieloma relacjami w Django
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)
Chcę, aby mój model pozwalał prowincjom na posiadanie kilku Office.
Więc w moim admin.py:
class ProvinceCreator(admin.ModelAdmin):
list_filter = ['numberPlate']
list_display = ['name', 'numberPlate','office']
class OfficeCreator(admin.ModelAdmin):
list_display = ['name']
To wydaje mi się poprawne, jednak gdy próbuję dodać nową prowincję z panelu administratora, otrzymuję to:
TemplateSyntaxError at /admin/haritaapp/province/
Caught an exception while rendering: no such column: haritaapp_province.office_id
Thanks
wreszcie udało mi się sprawić, że działa, nawet "python manage.py syncdb" nie wystarczy, więc musiałem usunąć sqlite3 db i odzyskać go :) Jedno małe pytanie, zagraniczne elementy pokazują jako Province_object podczas wybierania/dodawania. Jak to naprawić, aby wyświetlała nazwę? Pozdrowienia –
oh edytować własny: \t def __unicode __ (self): \t powrót self.name nie praca dla mnie: p –
w odnośniku do "Django nie będzie automatycznie dodawać nowe kolumny" - Django-południe ma dobrą pracę auto-zarządzania zmianami modelu, chociaż chciałbym, aby schemat nazewnictwa migracji był bardziej przyjazny dla wielu deweloperów. – David