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 replace_part
에서이 Part
아닌 BasePart
을 추가하는 것을
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
알 수 있습니다. 이것은 내가 궁금해하는 것입니다 - 이것이 장고에게 받아 들여질 수 있는지, 만약 그렇다면, 숨겨진 단점이나 위험을 감수하는 것이 있다면.