Soy bastante nuevo en Django y habiendo leído la documentación en sus modelos relacionales y formularios de administración en línea (docs on InlineModelAdmin) Estoy luchando para descubrir si lo siguiente es posible de la caja, o si debería rodar mis propios formularios.Agregando muchos objetos en línea a muchos en Django admin
Digamos que tengo dos objetos: Películas y Administración, esta es una relación de muchos a muchos como se define en las declaraciones modelo de la siguiente manera:
class Film(Model):
director = ManyToManyField('Director')
ahora en forma detallada para un objeto de Cine Me gustaría agregar objetos de Director en línea (solo tienen un campo de nombre como propiedad exclusiva). No solo seleccionando las instancias existentes, sino que puede crear las nuevas, en línea en la forma del objeto Película.
class DirectorInline(admin.TabularInline):
model = Director
extra = 3
class FilmAdmin(admin.ModelAdmin):
inlines = (
DirectorInline,
)
Esto arroja un error, porque se espera una clave externa en el objeto Director. ¿Lo que intento lograr es posible sin crear un formulario personalizado, un validador, etc.? Cualquier consejo en la dirección correcta sería muy apreciado, gracias de antemano.
Igor, (o cualquier otra persona), ¿cómo agregaría opciones al en línea como campos? – Greg
@Greg Realmente no entiendo lo que intentas lograr. Si desea guardar datos adicionales en su modelo M2M, puede usar modelos personalizados a través de https://docs.djangoproject.com/en/1.6/topics/db/models/#intermediary-manytomany Si solo desea agregar campos Para el panel de administración, puede redefinir '' DirectorInline.form'' – Igor
@Igor ¿Cómo redefinir Inline.form? – mamasi