Sveiki, su Django meginu suprogramuoti: klausimus/ataskymus, gaunu toki errora, klaida kaip ir suprantu, tik kaip ja apeit?
dar meginau pakeist, bet nepadejo
user = models.ForeignKey("Comment.User", related_name="Comment")
Error: One or more models did not validate:
blogs.comment: Accessor for field 'user' clashes with related field 'User.comment_set'. Add a related_name argument to the definition for 'user'.
questions.comment: Accessor for field 'owner' clashes with related field 'User.comment_set'. Add a related_name argument to the definition for 'owner'.
modeliai:
class Question(models.Model):
user = models.ForeignKey(User)
slug = models.SlugField(max_length=120)
title = models.CharField(max_length=100)
text = models.TextField()
created = models.DateTimeField('created', auto_now=True)
def __unicode__(self):
return self.title
class QuestionForm(ModelForm):
class Meta:
model = Question
class Comment(models.Model):
owner = models.ForeignKey(User)
question = models.ForeignKey(Question)
text = models.TextField(max_length=1024)
created = models.DateTimeField('created')
def __unicode__(self):
return self.title
class Meta:
ordering = ['-created']
class CommentForm(ModelForm):
class Meta:
model = Comment
Na lyg ir radau beda. turiu 2 App'us, ir viename is ju jau buvo modelis Comment, tai siuo atveju pervadinau Comment i BlogComment ir suvalge . Man tik keista kad Django skirtingose Appuose negali vartoti tu paciu vardu, mat ir lenteliu prefixai skiriais
Tavo pateiktame kode pavyzdyje neradau tokio dalyko kaip
user = models.ForeignKey("Comment.User", related_name="Comment")
Todėl negaliu pasakyti, kas buvo blogai.
Bendruoju atveju, Django visus susietus modelius bando įtraukti į to modelio atributų sąrašą, todėl jei du modeliai tuo pačiu pavadinimu priklauso nuo vieno bendro modulio, tai gali ir atsirasto tokios klaidos. Tokiais atvejais, nebūtina keisti pačio modelio pavadinimo, užtenka nurodyti, kokiu atributu, vienas iš tų modelių vienodais pavadinimais, turėtų įsirašyti į siejamo modelio atributus.
Sveiki, su Django meginu suprogramuoti: klausimus/ataskymus, gaunu toki errora, klaida kaip ir suprantu, tik kaip ja apeit?
dar meginau pakeist, bet nepadejo
Error: One or more models did not validate:
blogs.comment: Accessor for field 'user' clashes with related field 'User.comment_set'. Add a related_name argument to the definition for 'user'.
questions.comment: Accessor for field 'owner' clashes with related field 'User.comment_set'. Add a related_name argument to the definition for 'owner'.
modeliai:
Na lyg ir radau beda. turiu 2 App'us, ir viename is ju jau buvo modelis Comment, tai siuo atveju pervadinau Comment i BlogComment ir suvalge . Man tik keista kad Django skirtingose Appuose negali vartoti tu paciu vardu, mat ir lenteliu prefixai skiriais
Tavo pateiktame kode pavyzdyje neradau tokio dalyko kaip
Todėl negaliu pasakyti, kas buvo blogai.
Bendruoju atveju, Django visus susietus modelius bando įtraukti į to modelio atributų sąrašą, todėl jei du modeliai tuo pačiu pavadinimu priklauso nuo vieno bendro modulio, tai gali ir atsirasto tokios klaidos. Tokiais atvejais, nebūtina keisti pačio modelio pavadinimo, užtenka nurodyti, kokiu atributu, vienas iš tų modelių vienodais pavadinimais, turėtų įsirašyti į siejamo modelio atributus.
Tema perkelta iš https://legacy.ubuntu.lt/forum/viewtopic.php?f=11&t=6655