我正在开发一个小的django
应用程序,其中模型包含一个TextField
和一个PositiveIntegerField
。你知道吗
我需要用PositiveInegerField
中的字数填充TextField
。你知道吗
这可以通过自定义javascript代码来完成,该代码计算TextField文本区域中的字数,并在提交表单之前将值放入word count字段文本框,但我不想在admin中使用自定义javascript。你知道吗
如何以编程方式为PositiveIntegerField
赋值?你知道吗
Tags:
这可以使用pre_save Signal实现。你知道吗
创建如下信号函数:
然后将此函数附加到您的模型。自从django1.7以来,首选的方法是应用程序配置(参见doc)。你知道吗
可以在
AppConfig
ready()-方法中附加函数我会留下所有必要的进口取决于你,请评论,如果你需要进一步的方向!你知道吗
一般来说,我认为save signals是一个合理的想法,在这种情况下,您还可以自己重写.save()
(根据经验,如果我只是对一个模型进行操作,我将覆盖
save()
,但是如果我使用一个模型来影响另一个模型,则使用一个信号。这样做的目的是在代码中保留所有影响模型的因素。但这涉及到个人哲学)同时警告:无论您使用哪个版本,信号或覆盖
save()
、bulk_create
和bulk_delete
都不会发送信号或调用特定的save
函数。请参阅此处的文档:https://docs.djangoproject.com/en/1.8/topics/db/models/#overriding-predefined-model-methods相关问题 更多 >
编程相关推荐