मैं Django के लिए नौसिखिया हूँ। मैं UserProfile बनाने की कोशिश कर रहा हूँ। सबसे पहले मैं एक मॉडल और models.py में अपनी हैंडलर इस प्रकार है ..Django त्रुटि: userprofile मिलान क्वेरी मौजूद नहीं है
class UserProfile(models.Model):
user = models.ForeignKey(User,null=False)
name = models.CharField(max_length=200)
def __unicode__(self):
return self.name
def create_user_profile(sender, instance, created, **kwargs):
if created:
UserProfile.objects.create(user=instance)
post_save.connect(create_user_profile, sender=User)
AUTH_PROFILE_MODULE = "lib.UserProfile"
साथ फिर संपादित settings.py जहां lib जो init .py शामिल रूट फ़ोल्डर, मॉडल है बनाया एपी और सब।
फिर मैंने संग्रह में सभी मौजूदा उपयोगकर्ता को हटा दिया, और जब मैंने उन्हें व्यवस्थापक पैनल से पुन: प्रस्तुत किया, तो एक नया संग्रह lib_userprofile स्वचालित रूप से मॉडल में वर्णित फ़ील्ड के साथ बनाया गया है। के रूप में
class CurrentUser(APIView):
authentication_classes = (authentication.TokenAuthentication,)
def get(self,request):
if request.user.is_authenticated():
profile=request.user.get_profile()
return Response(profile)
इस प्रकार अब मैं एक दृश्य crearted लेकिन मुझे त्रुटि निम्नलिखित दे रहा है ..
UserProfile matching query does not exist.
Request Method: GET
Request URL: http://pawan.demoilab.pune/api/currentuser
Django Version: 1.3.7
Exception Type: DoesNotExist
Exception Value:
UserProfile matching query does not exist.
Exception Location: /usr/local/lib/python2.7/dist-packages/django/db/models/query.py in get, line 351
Python Executable: /usr/bin/python
Python Version: 2.7.3
Python Path:
['/var/www/pawan.demoilab.pune/web/api',
'/usr/local/lib/python2.7/dist-packages/Fabric-1.8.0-py2.7.egg',
'/usr/local/lib/python2.7/dist-packages/paramiko-1.12.0-py2.7.egg',
'/usr/local/lib/python2.7/dist-packages/ecdsa-0.10-py2.7.egg',
'/usr/local/lib/python2.7/dist-packages/pymongo-2.6.3-py2.7-linux-i686.egg',
'/usr/lib/python2.7',
'/usr/lib/python2.7/plat-linux2',
'/usr/lib/python2.7/lib-tk',
'/usr/lib/python2.7/lib-old',
'/usr/lib/python2.7/lib-dynload',
'/usr/local/lib/python2.7/dist-packages',
'/usr/lib/python2.7/dist-packages',
'/usr/lib/python2.7/dist-packages/PIL',
'/usr/lib/pymodules/python2.7']
किसी भी मदद कृपया सराहना की जाएगी .. मैं इस त्रुटि पर कई सवाल में पता चला, लेकिन मैं नहीं था त्रुटि को हल करने में सक्षम ..
कृपया मदद करें .... – Pawan
'उपयोगकर्ता प्रोफाइल 'में' उपयोगकर्ता' के साथ 'OneToOne' संबंध होना चाहिए। साथ ही, प्रोफाइल वास्तव में बनाया गया है? सिग्नल हैंडलर में आपका निर्माण विफल हो जाएगा क्योंकि कोई नाम प्रदान नहीं किया गया है। शायद, आप वास्तविक कोड नहीं दिखा रहे हैं। – Rohan
ठीक है, मैंने इसे OneToOneField में बदल दिया है। जब मैं व्यवस्थापक पैनल से नया उपयोगकर्ता जोड़ता हूं तो यह useprofile स्वचालित रूप से इन क्षेत्रों "_id" के साथ बनाया जाता है: ऑब्जेक्टआईडी ("528da840ee4340252254e34b"), "नाम": "", "user_id": "528da840ee4340252254e34a" और मैं सटीक कोड दिखा रहा हूं। आप कौन सा कोड वास्तविक नहीं ढूंढ रहे हैं .. – Pawan