iesi有下表
酒店 (型号)
会议室 (型号)
设施 (型号)
facility_properties
答案 0 :(得分:0)
您需要使用GenericForeignKey
,以便与任何类型的模型建立关系。
翻译您需要的内容会导致:
class FacilityProperty(models.Model):
facility = models.ForeignKey(facility, on_delete=CASCADE)
content_type = models.ForeignKey(ContentType, on_delete=models.CASCADE)
linking_id = models.PositiveIntegerField()
link_object = GenericForeignKey('content_type', 'linking_id')
link_object
将指向Hotel
或Room
,具体取决于您如何使用该关系。
以下是一个例子:
h = Hotel.objects.create()
r = Room.objects.create()
f = Facility.objects.create()
prop = FacilityProperty(link_object=h, facility=f)
prop.save()
prop = FacilityProperty(link_object=r, facility=f)
prop.save()