例如,有两个应用cars
和houses
,它们目前对models.ManyToManyField
的模型都有models.ImageField(upload_to='img/[APP_NAME]
。
不是复制和粘贴ImageField
代码片段,最好将图片上传拆分为单独的应用程序并导入吗?它应该是什么样的?
答案 0 :(得分:1)
你的问题没有明确的答案。这在很大程度上取决于你想要达到的目标。
制作一个单独的应用程序,只知道图像,您将遇到以下问题:
upload_to
和cars
使用不同的houses
。您需要动态设置它。 Example. ImageField
的图像模型)将通过cars
属性了解houses
和related_name
。我发现它没有任何好处。要摆脱反向引用,您可以指定ManyToMany(..., related_name="+")
。注意:"+"
表示没有给出相关名称,不应自动生成。但是删除它的合理性也值得怀疑。在您的位置,我只会留下两个模型图片,一个在cars
,另一个在houses
。这是在考虑您必须编写的样板代码的数量以及您将为自己创造的问题数量。