这就是我正在尝试做的事情,但失败了......
我有一个与其他对象具有通用关系的文件模型:
class File(models.Model):
content_type = models.ForeignKey(ContentType)
object_id = models.PositiveIntegerField()
content_object = generic.GenericForeignKey()
file = models.FileField(upload_to='files/%Y/%m/%d')
# etc....
我还希望有一个 File 的子类来处理要在页面中显示而不是下载的图像的特定情况:
class Image(File):
file = models.ImageField(upload_to='files/%Y/%m/%d')
以上所有内容都可以正常工作,包括 File 模型的通用内联,直到我想使用 Image 模型的通用内联 --- 保存过程无法创建基类实例,因此引发错误,指出 Image .file_ptr(基类的“秘密”外键)不能为无。
因此,基本上,通用内联目前不能正确支持多表继承。
很可能我让这变得比它需要的更复杂,所以任何人都可以建议解决这个问题,或者更好的方法来达到同样的目的吗?
如果您需要进一步说明,请告诉我。