问题标签 [django-models]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
11 回答
5086 浏览

sql - 表示关系数据库中的排序

我在数据库中有一组对象。照片库中的图像、目录中的产品、书中的章节等。每个对象都表示为一行。我希望能够任意排序这些图像,将该排序存储在数据库中,这样当我显示对象时,它们就会以正确的顺序排列。

例如,假设我正在写一本书,每一章都是一个对象。我写我的书,并按以下顺序排列章节:

简介、可访问性、形式与功能、错误、一致性、结论、索引

它转到编辑器,并返回以下建议的顺序:

介绍、形式、功能、可访问性、一致性、错误、结论、索引

如何以稳健、有效的方式将此排序存储在数据库中?

我有以下想法,但我对其中任何一个都不感到兴奋:

  1. 大批。每行都有一个排序 ID,当更改顺序时(通过删除后插入),订单 ID 会更新。这使得检索变得容易,因为它只是ORDER BY,但似乎很容易破解。

    // REMOVAL
    UPDATE ... SET orderingID=NULL WHERE orderingID=removedID
    UPDATE ... SET orderingID=orderingID-1 WHERE orderingID > removedID
    // INSERTION
    UPDATE ... SET orderingID=orderingID+1 WHERE orderingID > insertionID
    UPDATE ... SET orderID=insertionID WHERE ID=addedID

  2. 链表。每行都有一列用于排序中下一行的 id。遍历在这里似乎很昂贵,尽管可能通过某种方式使用ORDER BY我没有想到的。

  3. 间隔数组。将 orderingID(如 #1 中使用的)设置为大,所以第一个对象是 100,第二个是 200,依此类推。然后当插入发生时,您只需将其放在(objectBefore + objectAfter)/2. 当然,这需要偶尔重新平衡,所以你不会让事物靠得太近(即使使用浮点数,你最终也会遇到舍入错误)。

这些对我来说都不是特别优雅。有没有人有更好的方法来做到这一点?

0 投票
9 回答
60839 浏览

python - 在 Django 模型中指定 mySQL ENUM

如何在 Django 模型中指定和使用 ENUM?

0 投票
3 回答
1130 浏览

python - 新表单管理员中的 Django ImageField core=False

在向新表单管理员过渡的过程中,我很难弄清楚如何为 ImageFields 指定 core=False。

我收到以下错误:

[编辑] 但是,只需删除核心参数,我就会得到“此字段是必需的”。尝试提交时管理界面中的错误。如何使用 newforms admin 完成 core=False 的目的?

0 投票
15 回答
278692 浏览

django - 在 Django 中使用自定义字段扩展用户模型

使用自定义字段扩展用户模型(与 Django 的身份验证应用程序捆绑)的最佳方法是什么?我也可能想使用电子邮件作为用户名(用于身份验证)。

我已经看到了一些 方法来做到这一点,但无法决定哪一个是最好的。

0 投票
4 回答
15894 浏览

python - Django中的联合和相交

简单的模型只是为了问我的问题。

我想知道如何以两种不同的方式使用标签查询博客。

  • 带有“tag1”或“tag2”标签的博客条目: Blog.objects.filter(tags_in=[1,2]).distinct()
  • 用“tag1”和“tag2”标记的博客对象:
  • 完全用“tag1”和“tag2”标记的博客对象,没有别的:??

标记和博客仅用于示例。

0 投票
15 回答
200444 浏览

python - Django ModelAdmin 中的“list_display”可以显示 ForeignKey 字段的属性吗?

我有一个Person与 具有外键关系的模型Book,它有许多字段,但我最关心的是author(一个标准的 CharField)。

话虽如此,在我的PersonAdmin模型中,我想显示book.author使用list_display

我已经尝试了所有明显的方法,但似乎没有任何效果。

有什么建议么?

0 投票
5 回答
24442 浏览

python - Django 信号与覆盖保存方法

我很难解决这个问题。现在我有一些看起来像这样的模型:

一个评论有几个“分数”,overall_score 是分数的平均值。保存评论或分数时,我需要重新计算总分平均值。现在我正在使用覆盖的保存方法。使用 Django 的信号调度器有什么好处吗?

0 投票
3 回答
20296 浏览

python - In the Django admin interface, is there a way to duplicate an item?

Just wondering if there is an easy way to add the functionality to duplicate an existing listing in the admin interface?

In data entry we have run into a situation where a lot of items share generic data with another item, and to save time it would be very nice to quickly duplicate an existing listing and only alter the changed data. Using a better model structure would be one way of reducing the duplication of the data, but there may be situation where the duplicated data needs to be changed on an individual basis in the future.

0 投票
2 回答
3923 浏览

python - 在 Django 中,当孩子保存在外键关系中时,如何通知父母?

我有以下两个模型:

我希望 Activity 模型能够知道何时保存与其相关的取消(插入或更新)。

解决此问题的最佳方法是什么?

0 投票
7 回答
1223 浏览

database - 数据库和版本控制系统

我正在使用 django 框架进行项目,并使用控制版本系统将我的代码与其他人同步。但我不知道如何组织数据库。在 django 中,任何参与项目的人都可以更改 django 模型,并告诉“syncdb”将模型对象与 db 同步。但是其他人不知道这个变化,它的代码修订可能不起作用。请告诉我一些解决这个问题的方法(也许是不同的数据库或其他东西)。

谢谢,原谅我的英语:)