如何向不需要模型实例的模型添加函数?

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...

【讨论】:

以上是关于如何向不需要模型实例的模型添加函数?的主要内容,如果未能解决你的问题,请参考以下文章

ArcGIS中用模型构建器如何批量添加字段

如何在graphene-python DjangoObjectType中获取模型的当前实例

pytorch如何给预训练模型添加新的层

如何通过 ModelForm 使用 FileField 添加新的 Django 模型实例?

如何在不将实例模型添加到数据库的情况下向实体模型添加FK约束?

如何在sqlalchemy before_insert事件中添加模型的关系实例?