나는 (도 말씀이 언어를 가지고있는 모델)이 비슷한 ManyToManyField있는 모델을 가지고 :장고 ManyToMany 모델 검증
class Sentence(models.Model):
words = models.ManyToManyField(Word)
language = models.ForeignKey(Language)
def clean(self):
for word in self.words.all():
if word.language_id != self.language_id:
raise ValidationError('One of the words has a false language')
새로운 문장을 추가하려고 (예 : 장고 관리를 통해) I 'Sentence' instance needs to have a primary key value before a many-to-many relationship can be used
을 얻으십시오. 즉, 저장하기 전에 self.words에 액세스 할 수 없다는 것을 의미합니다.하지만 이것은 정확하게 수행하려고 시도한 것입니다. 그럼에도 불구하고이 모델을 검증 할 수있는 방법이 있습니까? 모델의 필드를 직접 확인하고 싶습니다.
이 예외와 관련된 많은 질문이 있지만 문제에 대한 도움을 찾을 수 없습니다. 나는 어떤 제안을 주셔서 감사합니다!
단어를 만들고 싶다면 단어가 문장과 연결되어 있다는 것을 어떻게 확인할 것입니까? 모델 정의에 '문장'필드가 없습니다. – johnklawlor
모두가 양식을 사용하지 않습니다. 나는 이것이 장고의 엄청난 결함이라고 생각한다. 누구든지 더 좋은 대답을 가지고 있습니까? –