python - Django:如何向模型类添加“设置和保存”方法?
问题描述
如何set()
为 Django 的 Model 类创建方法,该方法将为指定字段设置值然后保存对象,因此可以这样调用:
object.set(field_1 = 0, field_2 = 1)
而不是这个:
object.field_1 = 0
object.field_2 = 1
object.save()
解决方案
这是set()
通过代理类实现的方法:
class foo(models.Model)
...
class foo_proxy(foo)
class Meta:
proxy = True
def set(self, **kwargs):
for arg, val in kwargs.items():
setattr(self, arg, val)
self.save()
在这里通过抽象类:
class model(models.Model)
class Meta:
abstract = True
def set(self, **kwargs):
for arg, val in kwargs.items():
setattr(self, arg, val)
self.save()
class foo(model)
...
推荐阅读
- regex - 估算缺失值
- oracle - 安装 EMC12c 配置助手存储库失败
- java - 将 Json 转换为 Pojo 实现标记接口
- charts - Qlikview 组合图表 - 系列未与轴对齐
- swift - 无法从图库图片中扫描 QR
- amazon-web-services - 如何使用在 AWS 外部管理的域创建子域以指向 Cloudfront CDN 端点
- azure-ad-b2c - Azure B2C - 我的客户想要发送他在托管政策中添加的自定义声明的国家代码值
- c# - 如何在 PowerShell 中逐行使用 C# 从 URI 读取文件?
- c# - ANTLR4 - VisitChildren 返回 null,即使孩子返回某个对象
- python - form.save() 不起作用我的 form.save 用于更新数据不起作用