2
표준 모델 및 ModelForm 설정이 있습니다. 모델에서 ModelForm 객체를 반환 할 수 있어야합니다. 여기에는 불가능한 순환 참조가 포함됩니다. Django는 외래 키 모델을 문자열로 표현할 수 있으므로 비슷한 것을 할 수 있다고 생각했습니다. 지금 내가하고있는이 :ModelForm에 대한 모델을 만들 수 있습니까?
class Thing(models.Model):
stuff = models.TextField()
def get_form(self):
return getattr(sys.modules[__name__], "ThingForm")(self)
class ThingForm(ModelForm):
class Meta:
model = Thing
그것은 작동합니다. 그러나 나는이 일을하면서 자신과 가족에게 수치심을 갖게한다고 생각합니다. 더 훌륭한 방법이 있어야합니다.
그런데 ContentTypes를 사용하여 일반 외래 키를 만들기 때문에 내보기 코드는 모델이 정적 컨텍스트에 어떤 클래스인지 알지 못하므로이 작업을 수행하고 싶습니다.
네 말이 맞아. 내 방어에서 나는 그것이 가능하지 않은 모든 종류의 언어로 수년 동안 고통을 겪었습니다. – Joe
파이썬에서는 [반 중력을 가져올 수 있습니다] (http://xkcd.com/353/)를 항상 기억하십시오. –