Django: la relation de clé étrangère avec la table utilisateur ne valide pas
Envisager la suite de django modèle
from django.db import models
from django.contrib import auth
class Topic(models.Model):
user = models.ForeignKey('auth.models.User')
name = models.CharField(max_length = NameMaxLength , unique = True)
version_number = models.IntegerField(default = 0)
created_at = models.DateTimeField(auto_now_add = True)
modified_at = models.DateTimeField(auto_now = True)
update_frequency = models.IntegerField()
Ce modèle ne permet pas de valider même après l'installation de la auth_user
table.
In [3]: auth.models.User.objects.all()
Out[3]: [<User: admin>]
La déclaration ci-dessus est de django-admin shell
$ python manage.py syncdb
Error: One or more models did not validate:
topic: 'user' has a relation with model auth.models.User, which has either not
been installed or is abstract.
Je suis en utilisant django v1.0.4 avec pinax 0.7.2 sur ubuntu 11.04 , avec base de données sqlite3
Les Questions suivantes n'ont pas beaucoup d'aide:
- Clé étrangère de l'Utilisateur table dans django
- Comment puis-je créer une clé étrangère dans la table User dans Django?
source d'informationauteur Gautam
Vous devez vous connecter pour publier un commentaire.
'auth.User'
aurait travaillé, trop. Ce n'est pas Python à la bibliothèque de syntaxe, c'est l'ORM de Django "app.modèle de syntaxe". Mais vous ne devriez passer le modèle comme une chaîne de caractères si vous êtes désespérément à essayer de résoudre une dépendance circulaire. Et si vous avez une dépendance circulaire, votre code est eff.Même j'ai fait face à la même question,
Le message d'erreur est clair: vous n'avez pas installé le modèle de l'Utilisateur.
Que tous les..Espérons que cela permettra de résoudre cette question, a bien fonctionné pour moi.
J'ai eu la même erreur, mais dans une situation différente.
Je l'ai coupée la models.py dans deux fichiers:
Dans foo.py j'ai eu deux modèles:
J'ai résolu l'ajout de Méta également dans Foo modèle: