繁体   English   中英

在 Django 中为未知模型制作 ForiegnKey

[英]Make a ForiegnKey to an unknown model in django

我会举例说明

我有

class Stone(models.Model):
    # name, color, whatever

class Member(models.Model):
    # whatever

class Image(models.Model):
    stone = models.ForiegnKey(Stone, on_delete=...) # this should have the model that needs images
    image = models.ImageField()

我正在使用图像模型的 foriegnKey 来制作多个图像,但这迫使我为每个模型创建一个图像模型,在我的示例中,Stone 可以有多个图像,对吗? 我希望 Member 和我所有需要图像的模型都使用同一个类,我只想制作一个图像表。

我已经搜索了一段时间,但我认为我不知道搜索文本应该是什么,我阅读了ContentType但我认为我不明白它的作用,我什至不知道它是否是我的我要。

编辑 1:我实际上想过创建 2 个可为空的ForiegnKeys但这似乎是一种解决方法而不是解决方案。

我认为ContentType是我要找的,引用自 disqus 开发人员 David Cramer 在这里

泛型关系很好。 它们并不慢,只是在您的代码库中更难管理。

我想这是答案,我想指出,正如@Adithya 所说, django-polymorphic也可以提供帮助,因为我已经尝试过,这似乎是最简单的解决方案,将 OOP 概念多态性添加到 django 模型系统。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM