Django-连接新手的模型

时间:2013-01-29 04:56:46

标签: python django

首先让我描述一下我要做的事情。我有一个用户模型,一个用户配置文件模型和一个工作模型。我需要能够列出与用户相关的所有作业,并且我需要显示哪个用户与作业相关联。这就是我的想法,如果我的方向正确,请告诉我。

class Job(models.Model):
    title=models.CharField(max_length=30,blank=False)
    description=models.TextField(blank=False)
     ...........................


class UsersJob(models.Model):
    user=models.OneToOneField('User')
    jobs=models.Foreignkey('Job')

将作业连接到AUTH_PROFILE_MODULE下定义的User对象或User配置文件会更好吗?我也正朝着正确的方向努力完成

1 个答案:

答案 0 :(得分:1)

这完全取决于您需要的关系类型。

  • 如果每个用户有1个作业,那么无论如何都要在Job或User上添加一个指向其目标的字段。
  • 如果存在多个作业与单用户的关系,请在作业模型中添加外键。
  • 如果许多用户关系中有很多工作,请在其中添加m2m字段。
  • 如果有多个用户与单个工作关系,请将外键放在您的用户模型上(每个用户有1个工作,最多)。

AUTH_PROFILE_MODULE

在大多数情况下,您不希望将任何FK指向此Profile表,因为django与User模型的工作非常紧密,并且您更有可能访问用户列表而不是UserProfile来查询Jobs或其他任何内容。其他关系。