Hoi, 이것은 첫 번째 게시물이며 저는 장고를 처음 접했습니다. [편집 :에 "mfrom" "에서"변경 일부 (XMPP 같은 다른 처리가 필요 내가python django는 하위 클래스를 부모 테이블로 사용합니다.
class Message(models.Model):
mfrom = models.TextField()
text = models.TextField()
def beautify(self, text):
'''replace emoticons with images'''
return text
def save(self, *args, **kwargs):
self.text = self.beautify(self.text)
super(Message, self).save(*args, **kwargs)
같은 제네릭 클래스를 가지고 있고 메시지가에서 오는 몇 가지 소스가
)는 비 HTTP 요청 소스에서 나오지만 외부 스크립트에서옵니다.
그래서 나는 이제 위의 두 클래스의 저장() 메소드를 호출 MessageXMPP의 RESP에 저장 시도를 장고 경우 내가class MessageXMPP(Message):
def load_from_XMPP(self, xmppmsg):
self.mfrom = xmppmsg.mfrom
self.text = xmppmsg.text
class MessageJSON(Message):
def load_from_JSON(self, jsonmsg):
self.mfrom = jsonmsg.mfrom
self.text = jsonmsg.text
같은 다른 유형에 대한 메시지의 하위 클래스를 만들 것이라고 생각했다. MessageJSON 테이블, 데이터를 Message 테이블에 저장하고 MessageXMPP 테이블을 생성하지 않고 싶습니다.
Message 객체를 생성하고 값을 복사하지 않고 하위 클래스를 Message 테이블에 쓰는 방법이 있습니까?
안되가 변수로'from'를 사용, 파이썬 키워드입니다. –
여기에서 답을 찾을 수 있습니다. https://docs.djangoproject.com/en/dev/topics/db/models/. 또한'두장의 장고 '에서 나는 이것에 대한 해결책을 보았지만 기억이 안납니다. 프록시 접근 방식이 어쩌면? – bgusach
왜'load'라는 함수를'Message' 모델에 넣고'load_from_JSON','load_from_XMPP' 등등에 그것의 행동을 위임하지 않는가? –