【发布时间】:2016-04-28 20:50:53
【问题描述】:
我有三张桌子。 Tag、QueryStringTag 和 QueryString。 QueryStringTag 第三个表被创建用于连接Tag 和QueryString 并允许一个Tag 与许多QueryString 相关联,反之亦然。它包含两个外键。一个指向Tag,一个指向QueryString。
流程是这样的。一个QueryString 对象被创建并保存在数据库中。在此之后,创建了 4 个Tags。我想将这些镜头与特定的 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)
谁能指出我正确的方向?
【问题讨论】:
标签: python django orm foreign-keys