首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Django模型设计

Django模型设计
EN

Stack Overflow用户
提问于 2010-08-24 01:29:56
回答 2查看 408关注 0票数 3

我需要一些模型设计方面的帮助。我想要一个模型,在这个模型中,用户可以通过从表单提交电子邮件来将自己与大量电子邮件相关联。当用户想要使用网站联系人表单时,他可以选择他想要回复的电子邮件。会是这样的吗:

代码语言:javascript
复制
class Email(models.Model):
    author = models.ForeignKey(User)
    email = models.EmailField()

class Contact(models.Model)
    author = models.ForeignKey(User)
    email = models.ForeignKey(Email)
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-08-28 19:45:02

您的示例意味着每个联系人可以有一个电子邮件地址,并且每个电子邮件地址可以属于多个联系人。这是错误的方向,即您应该将ForeignKey放在电子邮件模型上。

这应该可以让你为每个用户存储多个电子邮件地址。

代码语言:javascript
复制
class Email(models.Model):
    email = models.EmailField()
    user = models.ForeignKey(User)

u = User.objects.get(pk=1)
u.email_set.all()
票数 1
EN

Stack Overflow用户

发布于 2010-08-24 01:43:57

您想要向用户添加用户配置文件。

代码语言:javascript
复制
from django.contrib import auth

class UserProfile(models.Model):
    """A user profile."""
    user = models.OneToOneField(auth.models.User)
    # ... put more fields here


def user_post_save(sender, instance, **kwargs):
    """Make sure that every new user gets a profile."""
    profile, new = UserProfile.objects.get_or_create(user=instance)

models.signals.post_save.connect(user_post_save, sender=auth.models.User)

然后,您可以使用request.user.get_profile()访问它。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3550086

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档