我在http://msdn.microsoft.com/en-us/library/bb982727.aspx上找不到任何相关内容.
也许我可以使用'[^] +'匹配所有内容,但这似乎是一个黑客?
谢谢.
假设主GUI线程上发生了很多事情(数据流入,用户操作等).假设我们想创建一个表单并显示它.
如果我们使用Application.Run(Form)相反的话,是否可以提升性能Form.Show()?有一个更好的方法吗?请解释原因或原因.
根据文档的API似乎可以通过简单的ManyToManyField实现......我缺少什么?
来自Django-Taggit文档的示例:
class Food(models.Model):
# ... fields here
tags = TaggableManager()
Run Code Online (Sandbox Code Playgroud)
然后你可以像这样使用API ::
>>> apple = Food.objects.create(name="apple")
>>> apple.tags.add("red", "green", "delicious")
>>> apple.tags.all()
[<Tag: red>, <Tag: green>, <Tag: delicious>]
>>> apple.tags.remove("green")
>>> apple.tags.all()
[<Tag: red>, <Tag: delicious>]
>>> Food.objects.filter(tags__name__in=["red"])
[<Food: apple>, <Food: cherry>]
Run Code Online (Sandbox Code Playgroud) class Food_Tag(models.Model):
name = models.CharField(max_length=200)
related_tags = models.ManyToManyField('self', blank=True, symmetrical=False, through='Tag_Relation')
def __unicode__(self):
return self.name
class Tag_Relation(models.Model):
source = models.ForeignKey(Food_Tag, related_name='source_set')
target = models.ForeignKey(Food_Tag, related_name='target_set')
is_a = models.BooleanField(default=False); # True if source is a target
has_a = models.BooleanField(default=False); # True if source has a target
Run Code Online (Sandbox Code Playgroud)
我希望能够得到Food_Tags之间的关系:
>>> steak = Food_Tag.objects.create(name="steak")
>>> meat = Food_Tag.objects.create(name="meat")
>>> r = Tag_Relation(source=steak, target=meat, is_a=True)
>>> r.save()
>>> steak.related_tags.all()
[<Food_Tag: meat>]
>>> meat.related_tags.all()
[]
Run Code Online (Sandbox Code Playgroud)
但是related_tags对于肉是空的.我意识到这与'symmetrical = False'参数有关,但我怎样才能设置模型,使'meat.related_tags.all()'返回所有相关的Food_Tags?