问题标签 [django-1.7]
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.
python - 可选添加额外字段时更改模型表单的顺序?
我有这个模型:
我正在创建一个模型表单:
关键是用户可能不会更改现有服务器对象的名称字段,但如果表单没有实例,我希望用户指定名称。换句话说:用户应该提供一个名称,但以后不要更改它。
当我使用此代码时,名称最终位于底部,但它应该位于顶部。在较早的 django 版本中,插入可以解决问题,但是自从进入 django 1.7 以来,这不再起作用。
然后我在这里阅读: 如何在 Django ModelForm 中订购字段?
...使用元类中的字段值。但现在我遇到的问题是字段列表有时应包含“名称”,而有时则不包含。取决于是否有实例。但是从 Meta 类我不能使用 self.instance 来检查。再次列出所有字段只是为了改变那里的顺序似乎有点烦人。
如何更改模型表单字段的顺序?
编辑:我很想继续在模板中循环。此外,在管理员以及任何模板中都有正确的顺序会很好。不过模板更重要。
django-forms - 如何在 django 中将 css 类添加到已安装应用程序的表单对象中
我目前正在学习django 酥脆的形式并将它们整合到我的项目中。但我决定使用django-user-accounts来处理用户配置文件。我遇到的问题是尝试对提供的表单进行样式设置。我引用pinax-theme-bootstrap来创建模板,并为大多数必需的模板提出了这个:
将css类添加到所有<label>
s和字段的最佳方法是什么。将类添加到单个<input>
标签的最佳方法是什么?是否可以在 django-user-accounts 之类的第三方应用程序上使用清晰的表单?
django - 如何在 Django 中自动更改 IntegrityError 上的数据库输入?
我正在使用模型表单让用户将数据放入数据库。此表单不包括用户字段,因此用户无法自行更改。
相反,用户字段的值将在我调用 .save(commit=False) 后输入。
因此,用户字段被排除在验证之外。现在 user 字段和另一个 char 字段之间有一个 unique_together 。
由于排除了用户字段,因此不会对 unique_together 进行验证。因此,在保存实例时可能会出现 IntegrityError。
我被困在哪里: 所以我的第一个想法是检查数据库是否 CharField 已经存在,如果是这样,只需通过添加一个数字来更改它并再次检查。但是如果我向上计数,攻击者可能会插入很多类似的字符串,所以我的服务器必须无限期地做这个检查。
可能的解决方案: 所以对我来说有两个可接受的解决方案:要么将 CharFields 值更改为绝对不存在的东西,而无需先尝试很多。或者使验证失败并将表单返回给用户。
我尝试了什么: 我认为第二个是理想的,但是由于我使用的是模型表单集并且无法将请求用户传递给表单,所以我无法这样做: Django's ModelForm unique_together validation
相反,我想知道是否可以在循环表单集时将自制错误添加到表单中。
有点像这个伪代码:
任何想法如何解决这个问题?如果你读到这里,谢谢你的帮助:)
python - 从多个模型中检索所有相关对象时,如何限制查询数量?
假设我有这个模型:
现在想象有 1.000.000.000 MyLogModel 和十倍以上的 MoreLogModel 与它们相关。
在我看来,我想向用户展示最新的 100 个 MyLogModel 以及与它们相关的 MoreLogModel 的所有“单词”字段。每个 MyLogModel 平均应该有 10 个 MoreLogModel。
但如果我只是使用(伪代码):
然后在模板中循环遍历它总是放置另一个循环:
这会导致大量的数据库查询,对吧?
所以我想知道的是是否可以查询所有 MyLogModel 以及已经在附加到该模型的列表中的相关“more_log_models”?
我有外键关系的原因是因为数据来自一个多线程的服务器进程,并且只要感觉它就会输入“单词”。
那么有什么想法可以解决这个问题吗?
另外: 我之前使用的另一种方法是只有一个模型,它有一个单词字段和一个 group_id。那么这个词字段只包含一个词,每个词都有一个条目。这会导致“log_stuff”被复制,但我认为这没有什么大问题。一个大问题是遍历所有这些日志并根据组 ID 组合它们,然后再次根据时间对它们进行排序。最后,这会导致更少的查询,但我必须至少对所有内容进行两次排序,这不是很快。
python - 将 kwargs 从 CreateView 传递到 ModelForm?
我正在尝试将一个 kwarg 从 CreateView 传递给 ModelForm,以便我可以根据相关 Parent 对象中的值动态调整字段。其他答案表明,通过在视图中覆盖get_form_kwargs并在表单中使用kwarg.pop捕获它来传递 kwarg 应该可以工作,但是当我尝试时我得到一个AttributeError: 'ChildForm' has no attribute 'get' 。将 kwarg 传递到视图上下文中是可行的,但不允许我访问表单实例中的值。
模型.py:
视图.py:
表格.py:
完整的追溯在这里:http ://dpaste.com/2QBMRJX
python - django 中的自定义用户引发 ValueError
即使这个简单的例子ValueError: Dependency on app with no migrations: myApp
在python manage.py syncdb
myApp/models.py
设置.py
./manage syncdb
在 django==1.6.5 <<中运行
./manage syncdb
在 django==1.7 <<中运行
我无法在 1.7 的文档中找到任何说明这应该与 1.6 不同的内容。看起来其他一些人也有这个问题,但由于运行./manage.py migrate --list
有没有人遇到过这个?
django - django 对 contrib.sites 的数据迁移依赖
我想将站点添加到我的一项数据迁移的依赖项中。
但我得到了
以前有人这样做过吗?谢谢。
python - ProgrammingError: 安装 Psycopg2 后,关系“django_session”不存在错误
我开始开发基于 Django 的 Web 应用程序。一切都很好,直到我Psycopg2
为我创建的数据库安装了PostgreSql
. 现在,当我试图打开我网站中的任何页面时,它会引发ProgrammingError: relation "django_session" does not exist
错误。
这是我的数据库设置settings.py
我正在开发virtualenvs
知道如何解决这个问题吗?谢谢
python - django模型线程安全吗?
我曾经使用基于 django 的前端填充数据库,然后使用我的守护程序软件中的数据直接访问 mysql 数据库。
现在我想将django模型直接集成到daemon软件中,让开发更容易。
所以写了这个类:
现在我想知道:这个线程安全吗?
我可以从该类创建一个对象并将其传递给多个线程吗?
当我添加写入数据库的函数时,这会保持不变吗?
django - Django 1.7、uwsgi 和 PostgreSQL 的随机数据库错误
将我的 Django 1.6 应用程序升级到 Django 1.7 后,我在从 PostgreSQL 获取数据时开始出现随机错误:
当我在浏览器中快速打开 10 个选项卡时,一半的选项卡正常加载,其中一半出现 DB 错误。当我刷新发生错误的选项卡时,它们会正常加载。
我通过uwsgi和nginx运行Django,psycopg2的版本是2.5.4。
总体而言,与 Postgres 的通信似乎以某种方式完全中断,并且不同查询的结果混合在一起。
编辑:
经过几个小时的故障排除后,我发现了以下内容:
Django 1.6 +
uwsgi - 工作 Django 1.7 + gunicorn - 工作
Django 1.7 + uwsgi - 不工作,引发数据库错误。所以问题似乎出在特别是 uwsgi 和 Django 1.7 的组合上。这很奇怪,我有另一个 Django 1.7 项目在具有相同 uwsgi 的同一台服务器上运行,它没有问题。
有任何想法吗?
(我真的不介意切换到 gunicorn,可能不得不走这条路,但为什么会发生这种情况仍然很有趣)
更新 2:仔细检查显示 Django 内部发生了完全疯狂的事情,比如模型的主键被当前用户的 session_id 替换(这是“invalid literal for int() with base 10”错误的来源)和 Django 向 DB 发出查询“忘记" 来指定 WHERE 子句。我可能会称之为某种内存损坏。
更新 3:我们从 uwsgi 切换到 gunicorn,问题现在消失了。一切都很好。不过,我可能仍在寻找合适的解决方案。