J'ai une table nommée Profil avec le code ci-dessous:comment obtenir un objet en fonction du champ de la table parent dans django ORM?
class Profile(models.Model):
user = models.OneToOneField('auth_user',
related_name='profile', verbose_name='profile', on_delete=models.CASCADE)
name = models.CharField(max_length=30, verbose_name='name')
family = models.CharField(max_length=50, verbose_name='family')
et la table utilisateur est comme ci-dessous:
class User(models.Model):
id = models.IntegerField(primary_key=True)
username = models.CharField(max_lenght=255)
password = models.CharField(max_lenght=255)
Je veux obtenir des profils avec nom d'utilisateur avec cette fonction:
def get_profile(request, username):
# some codes
comment puis-je obtenir un profil avec nom d'utilisateur? que devrais-je écrire dans la fonction get_profile? tanx
J'ai écrit le code que vous m'avez donné, mais cela n'a pas fonctionné. il déclenche une erreur avec ce message: AttributeError at/mojtaba/ L'objet de type 'Profile' n'a pas d'attribut 'model' non seulement si j'entre un vrai nom d'utilisateur, mais aussi quand j'entre un faux nom d'utilisateur (qui n'est pas dans la base de données), de toute façon il soulève cette erreur. – msln
Pouvez-vous montrer votre vue complète 'get_profile'? – wencakisa
qu'il est: def get_profile (demande, nom d'utilisateur = Aucun): profil = get_object_or_404 (Profil, user__username = nom d'utilisateur) impression (profil) passe – msln