我试图创建一个存储标签的模型“标签容器”。然后我尝试将这样一个带有 OneToOneFields 的容器连接到我需要它的模型:
from tagging.fields import TagFields
class TagContainer(models.Model):
tags=TagFields
class UserProfile(models.Model):
cont1=models.OneToOneField(TagContainer,related_name="cont1",null=True,blank=True)
cont2=models.OneToOneField(TagContainer,related_name="cont2",null=True,blank=True)
这样做之后,我有了一些我想要的行为:将 TagContainer 分配给模型 cont1 并尝试将相同的容器分配给另一个不起作用的模型 cont1 时。但是当我尝试将相同的 TagContainer 分配给同一模型的 cont1 和 cont2 时,它可以工作。当我尝试将 ForeignKeys 与 unique=True 一起使用时,也会发生相同的行为。
我无法确保 UserProfile 实例中的字段指向 TagContainer 的两个不同实例。那可能吗?
编辑:
刚刚发现我可以将每个 TagContainer 分配一次给 cont1,一次分配给 cont2。它是否属于相同的 UserProfile 并不重要。