小编DZ.*_*DZ.的帖子

如何在Django中使多对多字段可选?

当您有多对多关系(related_name而不是through)并且您尝试使用管理界面时,您需要输入其中一个关系,即使您不必存在创建第一个条目.

我正在创建一个作为活动组织者的应用程序.想象一下,我们拥有EventGroup模型,与多对多关系绑定.

Django related_name创建了另一个表,其中包含其他两个表的索引.
但我看不出为什么这个额外的表已经被填充.

如果我通过phpMyAdmin使用数据库,我可以创建一个Group没有注册的Event,因为两者之间的连接只是通过一个单独的表,并且在给定级别没有数据库值强制执行.

如何使管理界面实现呢?
如何在Django中使多对多字段可选?

django many-to-many django-admin

179
推荐指数
1
解决办法
6万
查看次数

如何直接在模板中缓存urls.py中的视图

我想要cache一个模板,我知道可以在这里做到这一点url.但是,我想要缓存的特定模板也直接用于模板:

(r'^menu/$', direct_to_template, { 'template': 'corp_menu.html' }),
Run Code Online (Sandbox Code Playgroud)

有谁知道如何转换我urlcache使用Django文档这样的:

django文档显示

urlpatterns = ('',
(r'^foo/(\d{1,2})/$', cache_page(60 * 15)(my_view)),
)
Run Code Online (Sandbox Code Playgroud)

谢谢你的帮助

django caching

2
推荐指数
1
解决办法
575
查看次数

Django另一个优化保存()

在我的应用程序中优化查询的过程中,我发现了一些奇怪的东西 在代码的给定部分中,我将获得对象,更新一些值,然后保存.从理论上讲,这应该执行2个查询.但事实上它执行3个查询.我在获取对象时选择查询,在保存对象时选择2(另一个选择然后更新!).删除一个查询可能看起来很愚蠢.在这个特定的方法中,我正在更新许多对象,因此我保存的每个查询在数据库上的命中率都会降低1,并且应该加快方法的速度

通过检查查询,两个选择查询是不同的,第一个得到很多东西,并且由它执行的选择很简单.

这是示例代码:

            myobject = room.myobjects.get(id=myobject_id) # one query executed here
            myobject.color = color
            myobject.shape = shape
            myobject.place = place
            myobject.save() # two queries executed here
Run Code Online (Sandbox Code Playgroud)

查询:

   1) "SELECT `rooms_object`.`id`, `rooms_object`.`room_id`, ......FROM `rooms_object` WHERE (`rooms_object`.`id` = %s AND `rooms_object`.`room_id` = %s )"

   2) "SELECT (1) AS `a` FROM `rooms_object` WHERE `rooms_object`.`id` = %s LIMIT 1"

   3) "UPDATE ......this ones obvious"
Run Code Online (Sandbox Code Playgroud)

我希望save方法能够识别它已经拥有内存中的对象而且它不需要再次获取它......如果可能的话......

django query-optimization django-models

2
推荐指数
1
解决办法
972
查看次数