访问用户的电子邮件

时间:2013-08-06 12:21:57

标签: python django

我想将用户的电子邮件放在我的模型文章中。

from django.db import models
from django import forms
from django.contrib.auth.models import User

    class Article(models.Model):

    #auteur
    email = models.ForeignKey(User.email, unique=True)
    name = models.CharField(max_length=200)
    #titre
    title = models.CharField(max_length=200)
    title_en = models.CharField(max_length=200)
    subtitle = models.CharField(max_length=200)
    subtitle_en = models.CharField(max_length=200)

1 个答案:

答案 0 :(得分:2)

你所写的内容毫无意义。您必须在用户上保留ForeignKey,然后通过user.email

访问他的电子邮件
class Article(models.Model):

    #auteur
    user = models.ForeignKey(User, unique=True)

    #titre
    title = models.CharField(max_length=200)
    title_en = models.CharField(max_length=200)
    subtitle = models.CharField(max_length=200)
    subtitle_en = models.CharField(max_length=200)

然后,Article.user.username(或self.user.username方法中的Article)会为您提供名称并Article.user.email发送电子邮件。

一些解释

在Django中,您只能在Model对象上创建ForeignKey,而不能在对象字段中创建user_id。这将在SQL中转换为表之间的经典引用。 (如果您检查文章SQL数据库,您将看到auth_user字段。此字段将包含用户的ID,从创建文章的{{1}}表中提取。