Ich bin Neuling nach Django. Ich versuche, UserProfile zu erstellen. Zuerst habe ich ein Modell und seine Handler in models.py wie folgt ..Django Fehler: userprofile passende Abfrage existiert nicht
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)
Dann bearbeitet settings.py mit
AUTH_PROFILE_MODULE = "lib.UserProfile"
wo lib Stammordner ist die init Py enthält, Modelle .py und alle.
Dann löschte ich alle aktuellen Benutzer in der Sammlung, und wenn ich sie aus dem Admin-Panel wieder eingab, wird automatisch eine neue Sammlung lib_userprofile mit Feldern erstellt, die ich im Modell erwähnt. Jetzt crearted ich eine Ansicht wie folgt
class CurrentUser(APIView):
authentication_classes = (authentication.TokenAuthentication,)
def get(self,request):
if request.user.is_authenticated():
profile=request.user.get_profile()
return Response(profile)
Aber wird mir geben Fehler folgende ..
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']
Jede mögliche Hilfe bitte klar sein .. ich viele Fragen zu diesem Fehler gefunden, aber ich war nicht in der Lage, Fehler zu beheben.
Bitte Hilfe .... – Pawan
'UserProfile' sollte' OneToOne' Beziehung mit 'User' haben. Ist das Profil tatsächlich erstellt? Ihr create in signal-Handler wird fehlschlagen, da kein Name angegeben wird. Wahrscheinlich zeigen Sie nicht den tatsächlichen Code. – Rohan
Ok, ich habe es in OneToOneField geändert. Wenn ich einen neuen Benutzer aus dem Adminbereich hinzufüge, wird UseProfile automatisch mit diesen Feldern erstellt "_id": ObjectId ("528da840ee4340252254e34b"), "name": "", "user_id": "528da840ee4340252254e34a" Und ich zeige genauen Code. Was Code Sie nicht wirklich finden .. – Pawan