Estoy tratando de hacer una relación muchos a uno y quiero poder controlarlo (agregar-remover etc.) a través del panel de administración. Así que este es mi modelo.py:Cómo administrar la relación de muchos a uno en 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)
Quiero que mi modelo permita que una provincia tenga varias oficinas.
Así que dentro de mi admin.py:
class ProvinceCreator(admin.ModelAdmin):
list_filter = ['numberPlate']
list_display = ['name', 'numberPlate','office']
class OfficeCreator(admin.ModelAdmin):
list_display = ['name']
Esto me parece correcto, sin embargo cuando intento agregar una nueva provincia con el panel de administración, me sale esto:
TemplateSyntaxError at /admin/haritaapp/province/
Caught an exception while rendering: no such column: haritaapp_province.office_id
Gracias
finalmente pude hacerlo funcionar, incluso "python manage.py syncdb" no era suficiente, así que tuve que eliminar el sqlite3 db y regenerarlo :) Una pequeña pregunta, aunque los artículos extranjeros se muestran como Province_object mientras selecciona/agrega. ¿Cómo arreglarlo para que muestre el nombre en su lugar? Saludos –
oh auto edición: \t def __unicode __ (self): \t retorno self.name hizo el trabajo para mí: p –
en la referencia a "Django no añadirá automáticamente nuevas columnas" - Django-sur hace un buen trabajo Sin embargo, me gustaría que el esquema de nombres de migración fuera más compatible con varios desarrolladores. – David