2013-06-13 3 views
0

J'ai une application en cours d'exécution et j'ai fait une énorme erreur, j'ai supprimé un utilisateur du site d'administration de mon application Django avant de supprimer son profil UserProfile.Django broken OneToOneField

Maintenant, quand j'essaie de voir les UserProfiles depuis le site d'administration, je continue à recevoir une erreur, pour ce que j'ai vu c'est un record not found exception.

J'ai ce problème parce que je ne peux pas utiliser de sauvegarde car la dernière date d'un demi-mois et tous mes utilisateurs seront vraiment en colère s'ils perdent toutes leurs données. Donc, comment puis-je faire pour que je puisse entrer dans le UserProfile (il serait préférable d'utiliser le site admin) pour supprimer le UserProfile?

Merci

+0

Vous pouvez essayer aller directement à l'URL de suppression: 'mysite.com/admin/myapp/userprofile/1/supprimer /' 'remplacement de toute évidence myapp' avec votre' whereever application UserProfile' est et avec '1' l'ID correct. Vous obtiendrez très probablement la même erreur, donc vous devrez aller sur la ligne de commande si donc –

Répondre

0

Essayez de le faire depuis le shell!

Vous avez besoin d'un moyen pour trouver ce profil utilisateur, avez-vous un ID de l'utilisateur ou peut-être du profil utilisateur lui-même?

python manage.py shell 
>>> from your_app_thing.models import UserProfile 
>>> user_profile = UserProfile.objects.get(id=<user profile id>) 
>>> user_profile.remove() 

Vous pouvez également ajouter UserProfile au panneau d'administration?

from django.contrib import admin 

from .models import UserProfile 

admin.site.register(UserProfile) 
+0

malheureusement je n'ai pas l'ID de l'utilisateur, le UserProfile est ajouté au site d'administration, et c'est là que j'ai le problème, je ne peux pas entrer là car je reçois l'erreur (c'est comme si elle ne peut pas charger la page) – Sascuash