将任何事物与任何事物相关联
项目描述
将任何事物与任何事物相关联。下面的图片是示例应用程序的截图,展示了一篇“相关”了2个“地点”模型和一个“城市”模型的博客文章
查看文档以获取更多示例和该应用程序的深入描述(或者继续阅读30秒版本)。
作用
此项目的目的是允许您使用一致的API在各种对象之间创建数据库级别的关联。
示例应用程序
源代码附带了一个示例应用程序,它展示了如何使用generic-m2m在模型之间创建“标签”。它使用nathanborror的基本应用程序和django-completion(无耻的吹嘘)来允许用户在模型之间“自动完成”各种关系,因此如果我是用户并想创建一篇新的博客文章,我可以将其与代表城市、地点、猫的搞笑照片等对象的关联进行标记。
快速概述
假设你有几个模型
class Food(models.Model):
name = models.CharField(max_length=255)
related = RelatedObjectsDescriptor()
def __unicode__(self):
return self.name
class Beverage(models.Model):
name = models.CharField(max_length=255)
related = RelatedObjectsDescriptor()
def __unicode__(self):
return self.name
以下是一个交互式解释器会话示例,以展示基本API
>>> pizza = Food.objects.create(name='pizza')
>>> pepperoni = Food.objects.create(name='pepperoni')
>>> beer = Beverage.objects.create(name='beer')
>>> soda = Beverage.objects.create(name='soda')
>>> pizza.related.connect(pepperoni)
<RelatedObject: pizza related to pepperoni ("")>
>>> pizza.related.connect(beer)
<RelatedObject: pizza related to beer ("")>
>>> pepperoni.related.related_to()
[<RelatedObject: pizza related to pepperoni ("")>]
>>> pizza.related.all()
[<RelatedObject: pizza related to beer ("")>, <RelatedObject: pizza related to pepperoni ("")>]
>>> pizza.related.all().generic_objects()
[<Beverage: beer>, <Food: pepperoni>]
>>> Food.related.all()
[<RelatedObject: pizza related to beer ("")>, <RelatedObject: pizza related to pepperoni ("")>]
项目详情
关闭
django-generic-m2m-0.3.1.tar.gz 的哈希值
| 算法 | 哈希摘要 | |
|---|---|---|
| SHA256 | 88a181b5d4ed1140a7a2957dac3de255fc7cbdb6806238ddf8f79f75b84858ec |
|
| MD5 | 4c0210c0f38242aad1a90a67c6f783c1 |
|
| BLAKE2b-256 | f787ea20f90aab82e957251a03a90565be27857c3d2ca2292f0c344c364176c9 |