장고 모델에서 저장 함수를 처리하는 방법에 대한 명확한 생각이 필요합니다. 아래에서 볼 수 있듯이 나는 이것을 우아하게하는 방법을 놓치고 있습니다. 전체 객체를 다른 모듈로 전달하고 거기에서 분석하고 싶습니다. 분석을 시작한 동기는 models.py가 아니라 자주 분석 비트를 수정하는 것입니다. 감사.장고 모델 객체를 다루는 가장 좋은 방법은 무엇입니까?
models.py
from test_app.spam_analyzer import spam_checker
class SharedLink(models.Model):
link = models.URLField()
submitters_ip = models.IPAddressField()
flag = models.CharField()
def save(self, *args, **kwargs):
self.flag = spam_checker(self)
super(SharedLink, self).save(*args, **kwargs)
spam_analyzer.py
from test_app.models import SharedLink #this causes a "field not found" error
def spam_checker(SharedLink)
submitters_ip = SharedLink.submitters_ip
# see if this user's ip appears on a spam list
# if it does flag it 'spam'
return flag
로즈 맨 씨와 미씨의 대답은 모두 정확할 것입니다. 나는 그것을 모델이나 형식이 아니라보기에서하는 것으로 끝 맺었습니다. 동전 던지기로 Roseman에게 답변을드립니다. 그는 또한 순환 수입에 관한 정확한 정보를 언급했다. – user140314