11
votes

Django: La relation clé étrangère avec la table utilisateur ne valident pas

Considérez le modèle Django suivant

$ 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.


0 commentaires

3 Réponses :


33
votes
from django.db import models                                                                                                                             
from django.contrib.auth.models import User

class Topic(models.Model):
    user = models.ForeignKey(User) 
'auth.User' would have worked, too.  It's not Python's library syntax, it's the Django ORM's "app.model" syntax.  But you should only pass the model as a string if you're desperately trying to solve a circular dependency.  And if you have a circular dependency, your code is eff'd.

1 commentaires

Merci de valider le modèle et de l'installer.



7
votes

Même si je suis confronté au même problème,

Le message d'erreur est clair: vous n'avez pas installé le modèle utilisateur. xxx

que tout cela résoudra. Ce problème, a fonctionné bien pour moi.


0 commentaires

1
votes

J'ai eu la même erreur, mais dans une situation différente. J'ai écarté les modèles.py dans deux fichiers: xxx pré>

in foo.py j'ai eu deux modèles: p> xxx pré>

i résolu ajout de méta aussi Dans FOO Model: P>

class Foo(models.Model):
    attr1 = ... etc

    class Meta():
        app_label = 'foo'


0 commentaires