我需要一些模型设计方面的帮助。我想要一个模型,在这个模型中,用户可以通过从表单提交电子邮件来将自己与大量电子邮件相关联。当用户想要使用网站联系人表单时,他可以选择他想要回复的电子邮件。会是这样的吗:
class Email(models.Model):
author = models.ForeignKey(User)
email = models.EmailField()
class Contact(models.Model)
author = models.ForeignKey(User)
email = models.ForeignKey(Email)发布于 2010-08-28 19:45:02
您的示例意味着每个联系人可以有一个电子邮件地址,并且每个电子邮件地址可以属于多个联系人。这是错误的方向,即您应该将ForeignKey放在电子邮件模型上。
这应该可以让你为每个用户存储多个电子邮件地址。
class Email(models.Model):
email = models.EmailField()
user = models.ForeignKey(User)
u = User.objects.get(pk=1)
u.email_set.all()发布于 2010-08-24 01:43:57
您想要向用户添加用户配置文件。
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()访问它。
https://stackoverflow.com/questions/3550086
复制相似问题