首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >使用拖放对模型中的条目进行重新排序

使用拖放对模型中的条目进行重新排序
EN

Stack Overflow用户
提问于 2008-09-21 11:05:29
回答 6查看 5.4K关注 0票数 11

假设我在Django有一个博客应用程序。如何在默认管理中使用可拖动表重新排序帖子?

如果我不需要向模型中添加任何额外的字段,那将是最好的,但如果真的有必要的话,我可以这样做。

EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2008-09-21 13:59:59

要获得能做到这一点的工作代码,请在djangosnippets.org上查看snippet 1053

票数 6
EN

Stack Overflow用户

发布于 2008-09-21 11:49:27

注意“如果我不需要向模型添加任何额外的字段,那将是最好的,但如果我真的必须这样做,我可以这样做。”

很抱歉,数据库中信息的顺序是由信息本身决定的:您总是需要添加一列进行排序。这真的是别无选择。

此外,要按此顺序检索内容,需要专门向查询中添加.order_by(x)或向模型中添加ordering

代码语言:javascript
复制
class InOrder( models.Model ):
    position = models.IntegerField()
    data = models.TextField()
    class Meta:
        ordering = [ 'position' ]

如果没有额外的字段,则无法进行排序。这是关系数据库的规则之一。

票数 4
EN

Stack Overflow用户

发布于 2013-05-02 16:13:17

现在有一个很好的包可以对管理对象进行排序

https://github.com/iambrandontaylor/django-admin-sortable

此外,django-suit还内置了对此的支持

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/110774

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档