首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何最好地建立招聘模型

如何最好地建立招聘模型
EN

Stack Overflow用户
提问于 2013-07-05 20:29:02
回答 2查看 90关注 0票数 0

我想知道django的招聘模型最好的设置是什么?

一个用户可以只由一个用户招募,但该用户本身可以招募许多其他用户。

是不是就像这样简单:

代码语言:javascript
复制
class Recruiter(models.Model):
    recruiter = models.ForeignKey(settings.AUTH_USER_MODEL)

class Recruited(models.Model):
    recruited = models.ForeignKey(settings.AUTH_USER_MODEL)


class UserProfile(AbstractUser):

    recruited_by = models.ForeignKey(Recruiter, blank=True)
    recruited = models.ManyToManyField(Recruited, blank=True)

    objects = UserManager()

或者这是一种更好的方式呢?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-07-05 20:39:08

我会这样做:

代码语言:javascript
复制
class Recruiter(models.Model):
    user = models.OneToOneField(settings.AUTH_USER_MODEL)

class Recruited(models.Model):
    user = models.OneToOneField(settings.AUTH_USER_MODEL)
    recruited_by = models.ForeignKey(Recruiter)

因为每个招聘人员is一个用户,每个招聘人员is一个用户,但是一个Recruited is recruited by一个招聘人员和一个招聘人员可以have recruited 0到许多Recruited。在此模式中,存在来自招聘人员实例的隐式反向关系,如下所示:

代码语言:javascript
复制
 recruiter_instance.recruited_set

看看文档就知道了:

https://docs.djangoproject.com/en/1.4/ref/models/fields/#django.db.models.ForeignKey

https://docs.djangoproject.com/en/1.4/topics/db/queries/#backwards-related-objects

https://docs.djangoproject.com/en/1.4/ref/models/fields/#onetoonefield

如果你使用的是不同的Django版本,你可以使用version switch --它在每个Django文档页面的右下角。

票数 1
EN

Stack Overflow用户

发布于 2013-07-05 20:37:48

你在尝试什么?我会这么做的:

代码语言:javascript
复制
class UserProfile(AbstractUser):

    recruited_by = models.ForeignKey("self", blank=True, related_name="recruited")

    objects = UserManager()

招聘人员和招聘课程是必需的吗?

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

https://stackoverflow.com/questions/17488944

复制
相关文章

相似问题

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