在Django模型中订购多对多关系

尤瓦尔·亚当(Yuval Adam)

假设您在Django模型中具有多对多关系,例如:

class GroceryList(models.Model):
    items = models.ManyToManyField(GroceryItem, related_name='in_lists')

class GroceryItem(models.Model):
    name = models.CharField(unique=True)

您和我在两个不同的列表中都可以有相同的项目,例如Avocado,它们将指向相同的Avocado对象。

对每个列表中的项目实施任意顺序的最佳方法是什么,可以对每个列表分别进行编辑?(即,我Avocado在列表中排名第一,而您在索引中4

django-ordered-model似乎是一个有趣的解决方案,但它假定所有对象之间的全局顺序。

罗汉

您可以使用中间表,through并在该表中添加有序字段。

class GroceryList(models.Model):
    items = models.ManyToManyField(GroceryItem, related_name='in_lists', 
            through='Order')

class GroceryItem(models.Model):
    name = models.CharField(unique=True)

class Order(models.Model):
    number = models.PositiveIntegerField()
    gl = models.ForeignKey(GroceryList)
    gi = models.ForeignKey(GroceryItem)

因此,grocerylist.items.add(groceryitem)除了您可以做的

#for groceryitem1 as 1st item in grocerylist1
Order.objects.create(gl=grocerylist1, gi=groceryitem1, number=1)

#for groceryitem1 as 10th item in grocerylist2
Order.objects.create(gl=grocerylist2, gi=groceryitem1, number=10)

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在Django模型中订购多对多关系

来自分类Dev

Django中与模型继承的多对多关系

来自分类Dev

Django中的多对多关系

来自分类Dev

Laravel:订购多对多关系

来自分类Dev

Django:通过=与独立模型的多对多关系

来自分类Dev

Django:多对多关系模型定义

来自分类Dev

在自身模型中建立多对多关系

来自分类Dev

CakePHP模型中的多对多关系问题

来自分类Dev

在 Django 中嵌套多对多关系

来自分类Dev

Django 多对多关系

来自分类Dev

如何在Django中以双向多对多关系从两个模型中获取数据

来自分类Dev

SQLAlchemy。如何订购多对多关系?

来自分类Dev

SQLAlchemy。如何订购多对多关系?

来自分类Dev

Django) 如何在多对多关系中查询另一个模型的字段

来自分类Dev

Django Auth:如何创建多对多关系模型?

来自分类Dev

Django:在多模型中查询一对多关系以查找具有某些属性的现有关系

来自分类Dev

如何在laravel模型中定义多对多关系?

来自分类Dev

具有多对一或无关系与多对多关系的Django模型?

来自分类Dev

与Django,Python的多对多关系

来自分类Dev

如何在Django中从多对多关系中检索数据

来自分类Dev

在Django ORM多对多关系中为对象分配标签

来自分类Dev

如何获取涉及Django中多对多关系的对象列表

来自分类Dev

在Django中批量创建具有多对多关系的对象

来自分类Dev

在Django的多对多关系中获得额外的字段值

来自分类Dev

在Django的多对多关系中从查询集中排除对象

来自分类Dev

如何从多对多关系的属性中获取Django查询的值?

来自分类Dev

创建或更新更新Django Graphene中的多对多关系

来自分类Dev

Django中的.add()方法未添加的多对多关系条目

来自分类Dev

如何从多对多关系的属性中获取Django查询的值?

Related 相关文章

  1. 1

    在Django模型中订购多对多关系

  2. 2

    Django中与模型继承的多对多关系

  3. 3

    Django中的多对多关系

  4. 4

    Laravel:订购多对多关系

  5. 5

    Django:通过=与独立模型的多对多关系

  6. 6

    Django:多对多关系模型定义

  7. 7

    在自身模型中建立多对多关系

  8. 8

    CakePHP模型中的多对多关系问题

  9. 9

    在 Django 中嵌套多对多关系

  10. 10

    Django 多对多关系

  11. 11

    如何在Django中以双向多对多关系从两个模型中获取数据

  12. 12

    SQLAlchemy。如何订购多对多关系?

  13. 13

    SQLAlchemy。如何订购多对多关系?

  14. 14

    Django) 如何在多对多关系中查询另一个模型的字段

  15. 15

    Django Auth:如何创建多对多关系模型?

  16. 16

    Django:在多模型中查询一对多关系以查找具有某些属性的现有关系

  17. 17

    如何在laravel模型中定义多对多关系?

  18. 18

    具有多对一或无关系与多对多关系的Django模型?

  19. 19

    与Django,Python的多对多关系

  20. 20

    如何在Django中从多对多关系中检索数据

  21. 21

    在Django ORM多对多关系中为对象分配标签

  22. 22

    如何获取涉及Django中多对多关系的对象列表

  23. 23

    在Django中批量创建具有多对多关系的对象

  24. 24

    在Django的多对多关系中获得额外的字段值

  25. 25

    在Django的多对多关系中从查询集中排除对象

  26. 26

    如何从多对多关系的属性中获取Django查询的值?

  27. 27

    创建或更新更新Django Graphene中的多对多关系

  28. 28

    Django中的.add()方法未添加的多对多关系条目

  29. 29

    如何从多对多关系的属性中获取Django查询的值?

热门标签

归档