关于继承:django类带有一组“父”外键问题

django class with an array of “parent” foreignkeys issue

假设我有一个叫做水果的类,子类是不同种类的水果,它们有自己的特定属性,我想把它们收集到一个果篮中:

类水果(models.model):
&type=models.charfield(max_length=120,default='banana',choices=fruit_types)
&……

香蕉类(水果):
&"香蕉(水果类)"
&长度=models.integerfield(空白=真,空=真)&……

橙色(水果):
&"橙色(水果类型)"
&直径=models.integerfield(空白=真,空=真)&……

类果篮(models.model):
&水果=型号。Manytomanyfield(水果)&……

我似乎遇到的问题是,当我检索和检查果篮中的水果时,我只检索水果基类,无法获取水果子类属性。

我想我了解正在发生的事情——当从数据库中检索数组时,唯一检索到的字段是水果类字段。但是,如果没有多个昂贵的数据库事务,是否也有办法获得子类属性?(例如,我可以获取数组,然后根据每个数组元素的ID检索子水果类)。

提前谢谢你,查克


我们解决这个问题的关键是通过添加一个对外的父类。当一个save()》,《儿童类/ ID保存在父。然后,当你有一个父对象(阵列)的水果在本案例parent.child)你可以说你有完整的子类对象。这个问题不来作为时代安切洛蒂和我的小兄弟,它不希望至少在表形式的特点。或也许它是我刚刚错过了它……)


http://docs.djangoproject.com /恩/ dev /主题/分贝/模型/ # id7

这是因为它是一个诡计的参考反馈到水果类,你可能不知道它的类型的水果。但如果你做,然后你只是访问实例的关系收藏指正onetoone:通过自动mybasket.fruits.all()[0].orange