如何向不需要模型实例的模型添加函数?
Posted
技术标签:
【中文标题】如何向不需要模型实例的模型添加函数?【英文标题】:How do I add a function to a model that doesn't require a model instance? 【发布时间】:2012-04-29 09:16:42 【问题描述】:所以我一直在尝试在 Django 中添加一个模型函数,该函数接受参数,然后将 X 条新记录插入数据库。
为什么不能做MyModel.MyFunction()
?我需要先创建一个实例吗?
如果是这样,有没有更好的方法来实现我想要的结果?
【问题讨论】:
【参考方案1】:您当然可以这样做,您只需将其设为classmethod
:
class MyModel(models.Model):
@classmethod
def my_function(cls):
new_instance = cls(...)
new_instance.save()
# etc...
【讨论】:
以上是关于如何向不需要模型实例的模型添加函数?的主要内容,如果未能解决你的问题,请参考以下文章
如何在graphene-python DjangoObjectType中获取模型的当前实例
如何通过 ModelForm 使用 FileField 添加新的 Django 模型实例?