gpt4 book ai didi

python - django taggit防止不同模型之间的重叠标签

转载 作者:行者123 更新时间:2023-12-02 05:44:34 24 4
gpt4 key购买 nike

我有两个不同的型号。

class MessageArchive(models.Model):
from_user = models.CharField(null=True, blank=True, max_length=300)
archived_time = models.DateTimeField(auto_now_add=True)
label = models.ForeignKey(MessageLabel, null=True, blank=True)
archived_by = models.ForeignKey(OrgStaff)
tags = TaggableManager()

现在说,我已经为消息定义了 spamtodourgent 标签。

然后我有另一个模型:

class PersonArchive(models.Model):
from_user = models.CharField(null=True, blank=True, max_length=300)
archived_time = models.DateTimeField(auto_now_add=True)
label = models.ForeignKey(MessageLabel, null=True, blank=True)
archived_by = models.ForeignKey(OrgStaff)
tags = TaggableManager()

我为模特定义了awesomelegendrockstar。可能还有更多的定义。

很明显,我希望人员和消息的标签重叠。我应该如何实现这一目标?谢谢!

最佳答案

您可以使用limit_choices_to foreignKeyFields 和 ManyToManyFields 上的功能。您的 models.py 文件可能如下所示:

class PersonArchive(models.Model):
tags_field = models.ManyToManyField(Tag, related_name="people_archives", limit_choices_to={'message_archives__isnull': True})

class MessageArchive(models.Model):
tags_field = models.ManyToManyField(Tag, related_name="message_archives", limit_choices_to={'people_archives__isnull': True})

关于python - django taggit防止不同模型之间的重叠标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18204733/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com