问题标签 [django-model-field]

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 投票
1 回答
670 浏览

django - 如何使用 django-elasticsearch-dsl 将 django-modeltranslation 创建的列索引为 Elastic?

我已经用django-modeltranslation翻译了我的模型字段,并使用 django-elasticsearch -dsl实现了搜索。

问题:django-modeltranslation 在数据库中创建翻译字段,而不是在我的模型中,并且搜索仅适用于模型创建的字段。由于 django-elasticsearch-dsl 正在检查模型以重建搜索索引。

当我尝试:

python3 manage.py search_index --rebuild

我得到错误:

Django 3.0.5 django-modeltranslation & django-elasticsearch-dsl - 最新版本 elasticsearch-7.6.2 db.sqlite3 (我要迁移到 PostgreSQL)

相关的 django 文件:

我发现了一种使用其他语言进行搜索的不好方法:

  1. 在 INSTALLED APPS 中禁用 django-modeltranslation。
  2. 在模型中添加 django-modeltranslation 在 DB 中创建的所有字段。
  3. 将这些字段添加到搜索应用程序中的documents.py 以创建Elastic 索引并重新启动django 服务器
  4. 检查“$ python3 manage.py makemigrations”是否返回:“未检测到更改”。
  5. $ python3 manage.py search_index --rebuild
  6. 还原步骤 3、2、1 并重新启动 django 服务器

我需要将翻译包含到 Elasticsearch 索引中。作为开发中的菜鸟,我不知道下一步该做什么。

我有两个想法(更像是一个方向),但不知道如何实现:

  • 将 django-elasticsearch-dsl 更改为直接从数据库索引。
  • 将 django-modeltranslation 更改为能够将它在 DB 中创建的字段添加到模型中。
0 投票
1 回答
45 浏览

django - django模型字段lookup_type“包含”区分大小写还是不区分大小写..?

根据文档,“包含”字段查找区分大小写,“图标包含”不区分大小写,但在查询时我看不到任何区别。

两者结果相同。

注意:我在本地使用 django 的 SQLite DB

0 投票
1 回答
47 浏览

django - 如何在模型管理器中按字段名称过滤(NameError)

模型.py

管理者.py

这应该有一个非常简单的解释,但我不明白这里有什么问题。我收到以下错误:

0 投票
1 回答
214 浏览

django - django 表单在一次提交中填充多个相同的字段表单

我不想使用 djangoform类,因为它们不会给我太大的灵活性。

我有一个表格,可以轻松请求随机数字段。我正在尝试填充出现的表单的多个值。

这是我的models.py

这是我的 form.html

您可能会注意到我正在使用 for 循环渲染字段。

也就是说,根据用户请求,将出现尽可能多的字段。

所以我想填充这些模型。

我的观点看起来像

谁能帮助我如何实现这一目标?我只是在努力实现这一目标。

0 投票
0 回答
36 浏览

django - Django - ArrayField 的大小基于相关模型的字段值

我有 2 个模型:报表STO,它们之间是一对多的关系,所以一个 STO 可以有很多相关的报表。

STO模型

报告模型

如您所见,每个 Report 都有一个AnswerField 数组AnswerField是一个自定义字段,我省略了它,因为它超出了本问题的范围)。该数组的大小应在相关 STO 类的answer_no字段上指定。我做出这个决定是因为这个值对于给定 STO 的每个报告都是相等的,因此在每个单独的报告中插入它会导致数据重复。我尝试使用property来实现这一点,但 Django 抱怨说他在迁移时无法序列化属性:

0 投票
1 回答
16 浏览

django - 检查日期是否在表格中正确输入

我有一个创建事件的表格,我想检查日期是否正确:结束日期大于开始日期或日期不早于实际日期等...我正在互联网上检查是否有任何与 django 的检查对于 django.contrib.admin 小部件,但我找不到任何东西。

在 form.hmtl 中:

在 forms.py 中:

在模型.py 中:

0 投票
1 回答
94 浏览

django - 在模型中创建自定义函数来比较两个外键最大时间戳

在我的 Django 项目中,我试图创建一个自定义模型字段,该字段依赖于比较两个反向外键时间戳的值。

在这个玩具示例中,我经营一些汽车经销商。汽车是出租给人们的,但每次再次出租之前都需要“维修”。我正在尝试将“currently_serviced”字段添加到我的汽车模型中。如果一辆汽车在最近的“HireEvent”之后有一个相关的“ServiceEvent”,则该汽车被认为正在维修。

我一直在关注自定义模型字段的文档,但这并不能帮助我了解反向外键的复杂性并识别最新的(在当前时间之前,因为我想忽略未来的招聘)时间戳。

用法

然后我可以在我的视图中使用这个字段“car.currently_serviced”,例如通过一个简单的个人汽车页面,显示汽车的名称 {{ car​​.car_name }} 以及它的服务状态 {{ car .currently_serviced }} 或更复杂的页面,例如在经销商页面上输出“经销商服务的汽车数量”。

现在的进展

我一直试图在模型中声明这个字段,请参阅我在 models.py 中声明的函数“currently_serviced”中的努力。我已经尝试编写模型管理器类并使用 F() 比较将逻辑写入我的视图中,尽管更喜欢作为 DRY 方法在模型本身上声明“currently_serviced”属性,因为它会在租用汽车时动态更新,并且服务。

当前显示的方法会导致属性错误:

“RelatedManager”对象没有属性“service_time”。

谢谢!

模型.py

视图.py

0 投票
1 回答
47 浏览

django - 在 Django 中为模型字段设置默认值

我想在 Django 中创建一个具有两个字段 {initial price, current price} 的模型 .. Django 中有没有办法将当前价格字段的默认值设置为与初始价格字段值相同?

0 投票
1 回答
120 浏览

django - 模型实例上的 Django 反向(on_delete)保护

可以在反向关系中保护模型。例如在以下模型中:-

如果尝试删除 的实例Foo,则不会将其删除,因为on_delete属性 onBar设置为models.PROTECT。那么,是否可以双向扩展这种保护?也就是说,如果尝试删除 的实例Bar,那么它是否可以像 一样受到保护Foo,有人可以提出解决方案吗?

0 投票
1 回答
22 浏览

django - 我在为我的 django 模型选择相关字段时需要帮助,想要一个像列表这样可以包含多个项目的字段

我正在开发一个用户可以添加事件的项目,而另一个用户可以自己注册该事件。每当他们参加活动时,我都想将用户名添加到列表中。

我的模型: