我有一个奇怪的需求,一个客户要求我实现一个webapp来支持他的数据库。因为我爱Django,所以我决定用它。
我很难理解的额外需求如下:用户应该有额外的“能力”来创建模型约束,比如检查IntegerField的范围,所有这些都不了解Python。
所以,我有一些想法,但我不确定什么是(如果有)正确的。以下是我的想法:
这个请求可以解决吗?你能告诉我最简单的方法吗?
提前谢谢你,
-弗拉维奥
发布于 2011-11-05 12:49:23
是的,这确实是可能的。我们将使用自定义对象管理器和动态Q对象来解决这个问题。下面是一个例子。
ContentType,以便将约束绑定到特定的模型类。
#your/models.py s.py从django.contrib.contenttypes.models导入ContentType从django.contrib.auth.models导入用户类PerUserConstraint(models.Model):user = models.ForeignKey( User ) content_type = models.ForeignKey(ContentType) field_name = models.CharField(max_length = 255)谓词= models.CharField(max_length = 255) #因此,在您的视图中,您将能够像这样使用它:YourModel.c.get_constrainted_query(user)
请注意,我没有测试这段代码,但我希望您已经掌握了这个概念。
https://stackoverflow.com/questions/8012624
复制相似问题