CreateView()和两个模型

2024-10-02 10:24:10 发布

您现在位置:Python中文网/ 问答频道 /正文

在我的项目中,我提供了为项目中的不同模型创建标记(称为流派)的可能性。为此,我使用一个非常简单的CreateView。在

class GenreCreate(CreateView):
    model = Genre
    form_class = GenreForm

“我已经意识到,一个新的流派已经存在了,这可能是一个新的流派”的例子。在

为此,我创建了一个新的模型“GenreCopy”。我的models.py看起来像这样

^{pr2}$

[插入]
问题:为什么我要创建一个新的模型GenreCopy,而不是向Genre添加一些字段?
回答:一个常规的流派应该有一个名字,一个描述和一个颜色,但是(当然)没有其他流派的链接。另一方面,一个复制的流派应该只有一个名称和一个指向另一个流派的链接,但是没有描述和颜色。保存流派并将其复制到同一个表中(在我看来)会违反database normalization)。在


现在我想创建一个表单,在那里我可以创建一个新的流派或者选择一个已经存在的流派来链接。在第一种情况下,应该使用模型Genre,在第二种情况下,我想使用GenreCopy。在

用CBV实现这一目标的最佳方法是什么?在

到目前为止,我发现的是Django: Create two models with a CreateView,但是这个问题已经有一年多了,我不喜欢使用第三方应用程序,我想知道是否有更好的方法。在


Tags: 项目方法标记模型链接颜色models情况

热门问题