2013-07-12 2 views
6

जब मैं प्रस्तुत करने के लिए प्रयास करते हैं, मैं एक लेखन त्रुटि मिलता है। धन्यवाद।Django SimpleLazyObject

+0

के संभावित डुप्लिकेट ([int() तर्क एक स्ट्रिंग या एक नंबर, नहीं 'SimpleLazyObject' होना चाहिए] http://stackoverflow.com/questions/15878860/int-argument-must-be-a- string-or-a-number-not-simplelazyobject) –

उत्तर

12

request.user, डिफ़ॉल्ट रूप से SimpleLazyObject का प्रकार है। यह हल करने के लिए

bookmark, created = Bookmark.objects.get_or_create(
      user = request.user, 
      link = link 
      ) 

bookmark, created = Bookmark.objects.get_or_create(
      user = request.user.id, 
      link = link 
      ) 

होना चाहिए, तो इस समस्या का समाधान नहीं करता है, यकीन है कि आप में लॉग इन हैं।

+1

ठीक है, मैंने किया है, जैसा कि आपने यहां लिखा है। लेकिन अब मुझे एक और त्रुटि मिल रही है .: "कोई भी असाइन नहीं कर सकता:" Bookmark.user "शून्य मानों की अनुमति नहीं देता है।" – Tchec

+2

ऐसा लगता है कि आप लॉग इन नहीं हैं। क्या आप ? '@ login_required' decorator – karthikr

+2

का उपयोग करें ठीक है, क्षमा करें, मैं लॉग इन नहीं था। लेकिन अब जब मैं हूं, मुझे यह त्रुटि मिल रही है: ' असाइन नहीं किया जा सकता "3": "बुकमार्क.यूसर" एक "उपयोगकर्ता" उदाहरण होना चाहिए – Tchec

1

एक और विकल्प नहीं है, यह समाधान आपको मदद मिलेगी हो सकता है इसे ठीक करो।

from django.contrib import auth 

bookmark, created = Bookmark.objects.get_or_create(
     user = auth.get_user(request), 
     link = link 
     )