我有三个表。 标记
、QueryStringTag
和QueryString
。 QueryStringTag
创建的第三个表,用于连接 Tag
和 QueryString
并允许一个 Tag
与多个 相关联code>QueryString
的,反之亦然。它包含两个外键。一个指向 Tag
,一个指向 QueryString
。
流程是这样的。 QueryString
对象被创建并保存在数据库中。在此之后,将创建 4 个 标签
。我想将这些拍摄与特定的 QueryString
对象相关联。
到目前为止,我的所有尝试都失败了。文档没有提供太多帮助,我已经尝试了几乎所有我能想到的方法。
这是我的模型...
class QueryString(BaseObject):
server_id = models.IntegerField()
schema = models.CharField(max_length=255, blank=True)
query = models.CharField(max_length=60000)
variables = models.TextField(blank=True)
created_by = models.ForeignKey(User, related_name='queries_created')
updated_by = models.ForeignKey(User, related_name='queries_last_edited')
created_at = models.DateTimeField(auto_now_add=True)
updated_at = models.DateTimeField()
touched_by = models.CharField(max_length=1000)
config = models.TextField(blank=True)
runs_started = models.IntegerField(default=0)
runs_completed = models.IntegerField(default=0)
runs_completed_duration = models.IntegerField(default=0) # total number of seconds spent running this query to completion
formats = "pretty_html html json prettyjson csv excel tableau".split()
class Tag(models.Model):
name = models.CharField(max_length=100)
class QueryStringTab(models.Model):
tag = models.ForeignKey(Tag, related_name='querystringtag')
querystring = models.ForeignKey(QueryString, related_name='querystringtag')
这是我的观点...
(请记住,query
是唯一的 QueryString
对象,我试图将其与下面的四个标签相关联)
tags = ['one', 'two', 'three', 'four']
for tag in tags:
newtag = Tag(name=tag)
newtag.save()
query.querystringtab.tag(newtag.pk)
谁能指出我正确的方向?
最佳答案
我建议在 StackOverflow 上搜索此处。我在搜索“python django many to many”时找到了两个可能相关的答案:
例如: Way to allow for duplicate many-to-many entries in Python/Django
关于python - 将标签分配给Django ORM多对多关系中的对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36925212/