ForeignKey ne fonctionne pas avec Group
Bonjour,
Je poste ce message car j'ai un petit soucis avec ForeignKey.
Pour faire simple, je n'arrive pas à appeler la table Group de django en passant par une clé étrangère d'une autre table.
models.py
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13
|
from django.db import models
from django.contrib.auth.models import Group
class School(models.Model):
group = models.ForeignKey("auth.Group", on_delete=models.CASCADE)
name = models.CharField(max_length=255)
place = models.CharField(max_length=255,blank=True, null=True)
describ = models.CharField(max_length=500,blank=True, null=True)
date_add = models.DateTimeField(blank=True, null=True)
def __str__(self):
return self.name |
Shell :
Code:
1 2 3 4 5 6 7 8 9 10 11
|
>>> from django.contrib.auth.models import User, auth, Group
>>> from accounts.models import School
>>> group = Group(name="ecole")
>>> group.save()
>>> ecole = School(name="ecole1", group_id=1)
>>> ecole.save()
>>> ecole.group_id.name
Traceback (most recent call last):
File "<console>", line 1, in <module>
AttributeError: 'int' object has no attribute 'name' |
Ici quand j'essai de récupérer le nom du groupe avec "ecole.group_id.name" cela ne fonctionne pas.
(J'ai aussi un autre problème, dans mon modèle je nomme le champ groupe "group", mais dans ma base de donner, Django me le nomme "group_id" et je ne sais pas pourquoi. D'autant plus, qu'il passe le champs en "integer" )
J'ai beau chercher je n'arrive pas a comprendre sachant que j'utilise la doc Django.
Si vous avez une idée ce serait formidable :D