Django'nun FormView'leri ile çalışıyorum.Django CreateView, "çoktan çoğa" ilişkisinden önce "alan için bir değere sahip olması gereken" ... "hata verir."
Bu uygulamada, bir blog yayını oluşturan bir PostCreate görünümü oluşturuyorum. İşte
benim kodlardır:models.py
class Post(models.Model):
user = models.ForeignKey(User)
post_title = models.CharField(max_length=200)
post_content = models.CharField(max_length=500)
class Tag(models.Model):
name = models.CharField(max_length=64, unique=True)
posts = models.ManyToManyField(Post)
forms.py
class PostForm(forms.ModelForm):
post_title = forms.CharField(
label=u'Title',
widget=forms.TextInput(attrs={'size':64})
)
post_content = forms.CharField(
label=u'Content',
widget=forms.TextInput(attrs={'size':128})
)
tags = forms.CharField(
label=u'Tags',
required=True,
widget=forms.TextInput(attrs={'size':64})
)
class Meta:
model = Post
exclude = ('user', 'post_date')
views.py
01 Bu çok-çok ilişkisi olmadan önce alan "post" için bir değer olmasıihtiyaçlar:
Bir veritabanına bir yazı (Test Mesaj 1) kaydetmeyi deneyin, bana bir hata veriyor Kullanılmış.
Soruna, "etiket" alanını böldüğüm ve etiketleri post nesnesinin tag_set alanına eklediğim. Bu mantık form_valid yöntemde dahil edilmemelidir herhalde ... ama bu uygulanmalıdır başka nerede bilmiyorum ..
Herhangi bir yardım büyük takdir :) Teşekkürler
Öneriniz hatası çözüldü !! Ancak, bunu yaptıktan sonra, HERHANGİ BİR gönderiye herhangi bir nedenle Tag nesnesine eklenir .... Örneğin, Tag1'i Post # 4'e eklersek, Tag1, Post # 1, Post # 2, Post # 3 ve Post'a eklenir. # 4 .. Bu neden oluyor idk yapın ... :( – user2492270
Evet, ipucu gerçekten yardımcı olur. Bu arada, bazen iyi hata mesajları yeşil olduğunu düşünüyorum. Kötü (kafa karıştırıcı) hata iletileri (bu gibi) düşünmek için sormak için google (ve ayrıca cevaplanması gerekir.) Belki daha da kötüsü, eğer soru soran kişi doğru cevabı kabul etmiyorsa ;-) – stanleyxu2005
Saatlerimi kurtardığın için teşekkür ederim. .... –