在我的应用程序中,我需要在保存模型时保存更改的值(旧的和新的).任何例子或工作代码?
我需要这个来预先内容化.例如,如果用户更改了模型中的某些内容,则管理员可以在单独的表中查看所有更改,然后决定是否应用它们.
我们有一个iOS应用程序通过REST API与django服务器通信.大多数数据由相当大的Item对象组成,这些对象涉及一些相关模型,这些模型可以渲染为单个平面字典,并且这些数据很少发生变化.
我们发现,查询这对Postgres来说不是问题,但生成JSON响应会花费相当多的时间.另一方面,项目集合因用户而异.
我想到了一个渲染系统,我们只为Item对象构建一个字典并将其保存为redis作为JSON字符串,这样我们可以直接从redis提供API(例如HMGET(用户库中项目的id),这很快,并使再生"渲染实例"相对容易,基本上只是几个post_save信号.
我想知道这个设计有多好,它有什么重大缺陷吗?也许有更好的方法来完成这项任务?
有人可以向我解释如何正确测试Postgres DB错误,特别是IntegrityError.例如,我有下一个测试:
class TestSlugs(TestCase):
# This slug must be unique
b = BookPublisher(slug=self.duplicate_slug)
self.assertRaises(IntegrityError, b.save)
#check if there's only one BookPublisher
self.assertEquals(BookPublisher.objects.count(), 1)
Run Code Online (Sandbox Code Playgroud)
在这里它捕获IntegrityError但是然后所有操作都将失败,因为这就是postgres的工作方式,好吧.我在docs中看到我可以使用transaction.rollback()但在哪里:在test或save()方法中?
另外,我不喜欢手工编写回滚的想法,为什么django不能尝试保存,如果失败 - 给我IntegrityError并让我继续工作.
我正在使用django 1.1
我有一个非常通用的文章模型,与标签模型有m2m关系.我想保留每个标签使用的计数,我认为最好的方法是对标签模型上的计数字段进行非规范化,并在每次保存文章时更新它.我怎样才能做到这一点,或者有更好的方法?
我正在开发另一个带有画布的绘图应用程序,它比屏幕大很多倍.我需要一些建议/指导如何做到这一点.
基本上我想要的是滚动这个大画布,只在可见区域绘制.我在考虑两种方法:
如果这很重要,我正在使用cocos2d作为原型.