Python Django模型关系

Python Django模型关系,python,django,django-models,Python,Django,Django Models,我开发了一个应用程序,人们可以在其中发布销售不同物品的广告,如汽车、公寓、小玩意等。我有一些模型,每个项目都有自己的特殊字段,如:CarModel、ApartmentModel、SmartphoneModel等 我有一篇模型文章:想添加销售的字段项,它可以是不同模型的实例(例如CarModel或ApartmentModel) 我试着这样做: class CarModel(models.Model): ad = models.OneToOneField(Article, on_delete=

我开发了一个应用程序,人们可以在其中发布销售不同物品的广告,如汽车、公寓、小玩意等。我有一些模型,每个项目都有自己的特殊字段,如:CarModel、ApartmentModel、SmartphoneModel等

我有一篇模型文章:想添加销售的字段项,它可以是不同模型的实例(例如CarModel或ApartmentModel)

我试着这样做:

class CarModel(models.Model):
   ad = models.OneToOneField(Article, on_delete=models.CASCADE, 
                             related_name='item_of_sale')
   marc = models.CharField(max_length=40, choices=MARC_CHOICES)
   model = models.CharField(max_length=120, default='')
   .....


class ApartmentModel(models.Model):
   ad = models.OneToOneField(Article, on_delete=models.CASCADE, 
                             related_name='item_of_sale')
   location= models.CharField(max_length=200 )
   address= models.CharField(max_length=120)
   .....
但django不允许有多个型号具有相关的_name=“销售项目”


你知道我如何用这种关系建立数据库吗。请帮忙。提前感谢。

相关名称用于反向查询。相关名称是可选的,相关字段需要唯一。您的模型非常简单,您不需要任何相关名称。`定义您的模型时不需要相关名称

你需要仔细阅读各种类型的关系。。。不仅仅是一对一。。。您可以使用一对多或多对多。。。试着读一篇文章,或者希望你的项目会很好^ ^@Kendoka你的第一个链接真的对我有帮助。**多态一对多关系**** django多态包**是我一直在寻找的。非常感谢。如果你想添加它作为答案,我会检查它是否被接受。
class CarModel(models.Model):
   ad = models.OneToOneField(Article, on_delete=models.CASCADE, 
                             related_name='item_of_sale')
   marc = models.CharField(max_length=40, choices=MARC_CHOICES)
   model = models.CharField(max_length=120, default='')
   .....


class ApartmentModel(models.Model):
   ad = models.OneToOneField(Article, on_delete=models.CASCADE, 
                             related_name='item_of_sale')
   location= models.CharField(max_length=200 )
   address= models.CharField(max_length=120)
   .....