मैं प्लेलिस्ट और उसके आइटम प्राप्त करने के लिए मॉडलफॉर्म का उपयोग कर रहा हूं। इसमें लॉगिन स्क्रिप्ट भी शामिल है। मैं वर्तमान में उपयोगकर्ता मॉडल में लॉग इन उपयोगकर्ता को सेट करने की कोशिश कर रहा हूं।मॉडलफॉर्म में मूल्य त्रुटि
def playlistview(request):
if request.method == 'POST':
form = playlistform(request.POST)
if form.is_valid():
data = form.save(commit=False)
data.user = request.user
data.save()
return render_to_response('playlist.html', {'data': data})
else:
form = playlistform()
return render_to_response('playlist.html', {'form': form, 'user': request.user}, context_instance=RequestContext(request))
Playlist.html फ़ाइल:
https://gist.github.com/1576136
त्रुटि पेज आप से पहले How to avoid this dropdown combo box?
class playlistmodel(models.Model):
user = models.ForeignKey(User)
title = models.CharField(max_length=200)
def __unicode__(self):
return self.title
class itemsmodel(models.Model):
playlist = models.ForeignKey(playlistmodel)
item = models.TextField()
def __unicode(self):
return self.item
class playlistform(ModelForm):
class Meta:
model = playlistmodel
exclude = {'user'}
class itemsform(ModelForm):
class Meta:
model = itemsmodel
exclude = {'playlist'}
यहाँ इस बात मैं पोस्ट किया है देख सकते हैं प्लेलिस्ट दृश्य है:
https://gist.github.com/1576186
लेकिन मैं ValueError
हो रही है:
Exception Type: ValueError Exception Value: Cannot assign "<django.utils.functional.SimpleLazyObject object at 0x7f0234028f50>": "playlistmodel.user" must be a "User" instance
Traceback: Local vars --- data.user = request.user
यहाँ मेरी settings.py https://gist.github.com/1575856
धन्यवाद है।
बस अगर आपके पास है, तो सत्यापित करें कि आपके पास सेटिंग [TEMPLATE_CONTEXT_PROCESSORS] (https://docs.djangoproject.com/en/1.3/ref/settings/#template-context-processors) है, जो आपके 'settings.py' –
में है आप Django का संस्करण उपयोग कर रहे हैं? 'डेटा आज़माएं।user_id = request.user.id' इसके बजाए। – Alasdair
@ सीज़र मैंने अपने प्रश्न अनुभाग पर settings.py के लिए लिंक पोस्ट किया है। – rnk