0
是否可以使用代理模型實例作爲外鍵?Django中的代理類型和外鍵
這樣做有什麼缺點或風險嗎?
樣品的編號:
base_models.py
class BaseWidget(models.Model):
name = models.CharField(max_length=100)
code = models.CharField(max_length=100)
class BasePart(models.Model):
name = models.CharField(max_length=100)
code = models.CharField(max_length=100)
widget = models.ForeignKey(BaseWidget, related_name="parts")
models.py
from base_models import BaseWidget, BasePart
class Part(BasePart):
class Meta:
proxy = True
class Widget(BaseWidget):
def replace_part(self, old_code, new_code):
self.parts.filter(code=old_code).delete()
self.parts.add(Part.objects.get(code=new_code))
class Meta:
proxy = True
注意,在replace_part
它被添加Part
,而不是一個BasePart
。這是我想知道的 - Django是否可以接受,如果是這樣,是否存在隱藏的缺陷或危險。