Django自引用多对多模型 我有一个简单的Django Jobs模型,有两个字段;申请人和申请人被选中。

Django自引用多对多模型 我有一个简单的Django Jobs模型,有两个字段;申请人和申请人被选中。,django,recursion,django-models,many-to-many,django-orm,Django,Recursion,Django Models,Many To Many,Django Orm,“申请人”是与用户模型的多对多关系。 我希望“Appenders\u selected”与同一型号的Appenders字段具有多对多关系 例如: class Job(models.Model): applicants = models.ManyToManyField('User', blank=True) selected_applicants = models.ManyToManyField('Self.applicants', blank=True) 最好的方法

“申请人”是与用户模型的多对多关系。
我希望“Appenders\u selected”与同一型号的Appenders字段具有多对多关系

例如:

class Job(models.Model):
       applicants = models.ManyToManyField('User', blank=True)
       selected_applicants = models.ManyToManyField('Self.applicants', blank=True)
最好的方法是什么


谢谢

您可以在
ManyToManyField

from django.conf import settings
from django.db import models

class Job(models.Model):
    applicants = models.ManyToManyField(
        settings.AUTH_USER_MODEL,
        through='Applicant'
    )

class Applicant(models.Model):
    job = models.ForeignKey(Job, on_delete=models.CASCADE)
    user = models.ForeignKey(
        settings.AUTH_USER_MODEL,
        on_delete=models.CASCADE
    )
    selected = models.BooleanField(default=False)

注意:通常最好使用来引用用户模型,而不是直接使用。有关更多信息,请参见


您可以在
ManyToManyField

from django.conf import settings
from django.db import models

class Job(models.Model):
    applicants = models.ManyToManyField(
        settings.AUTH_USER_MODEL,
        through='Applicant'
    )

class Applicant(models.Model):
    job = models.ForeignKey(Job, on_delete=models.CASCADE)
    user = models.ForeignKey(
        settings.AUTH_USER_MODEL,
        on_delete=models.CASCADE
    )
    selected = models.BooleanField(default=False)

注意:通常最好使用来引用用户模型,而不是直接使用。有关更多信息,请参见