tengo 2 modelos de mesas múltiples hereditarias como éstas:formas de Django: forma más DRY para organizar crear formularios/actualización para los modelos heredados
class Post(models.Model):
title = models.CharField(max_length=100, blank=True, null=True)
text = models.TextField(blank=True, null=True)
location = models.PointField()
...
class BlogPost(Post):
blog = models.ForeignKey(Blog)
Del mismo modo, la clase de forma de BlogPost también hereda de la clase PostForm:
class PostForm(MapModelForm):
...
class Meta:
model = Post
def clean(self):
...
class BlogPostForm(PostForm):
class Meta:
model = BlogPost
Solía manejar la creación/actualización para ambos modelos en 2 vistas no basadas en clase. Para hacer las cosas SECAS, decidí probar las vistas genéricas basadas en clases de Django. Pero debido a la falta de ejemplos y la hostilidad del usuario con los documentos relacionados y la variedad de enfoques, estoy confundido.
La idea es tener vistas de formulario basadas en clases para el modelo Post
y heredarlas para el BlogPost
. ¿Cómo debo adaptar las clases de vista?
¿Debo tener vistas separadas PostCreate y PostUpdate? Entonces las dos clases son casi idénticas y no SECAS en absoluto.
¿Debo tener un solo FormView
para actualizar/crear una publicación? Funciona para la creación, pero no pude encontrar la manera de hacer esto para la actualización.
¿Debo crear una vista personalizada (o dos vistas para crear/actualizar) utilizando las clases de mixin proporcionadas en lugar de heredar las vistas directamente?
gracias por la brillante respuesta. – omat
¿Cómo dirigirse a la buena vista cuando no se sabe si el POST va a crear o actualizar? ¿Hay una buena manera de hacer eso siguiendo esta estructura? – lajarre