Python 如何在django中自定义对象创建?

Python 如何在django中自定义对象创建?,python,django,Python,Django,在django rest框架中,可以创建一个函数来定制在相应模型的序列化程序中创建对象的过程,但我不知道如何在“普通”django中实现这一点。我需要做的是拿一个领域做一大堆事情。把它编码成256个字符的散列是我现在唯一要担心的。我怎样才能做我需要的事?我一直以一门在线课程和Django的文档为基础,但我要么解释得不够好,要么干脆在那里找不到。这是我到目前为止的代码,至少我的判断与问题相关。都在models.py中: class SpedFile(models.Model): json_file

在django rest框架中,可以创建一个函数来定制在相应模型的序列化程序中创建对象的过程,但我不知道如何在“普通”django中实现这一点。我需要做的是拿一个领域做一大堆事情。把它编码成256个字符的散列是我现在唯一要担心的。我怎样才能做我需要的事?我一直以一门在线课程和Django的文档为基础,但我要么解释得不够好,要么干脆在那里找不到。这是我到目前为止的代码,至少我的判断与问题相关。都在models.py中:

class SpedFile(models.Model):
json_file = models.FileField(max_length=100)
sped_file = models.FileField(max_length=100)
integrity_hash = models.CharField(max_length=256)
line_counter = models.CharField(max_length=150000)
created_at = models.DateField(auto_now_add=True)

@classmethod
def create(cls, json_file):
    file_bearer = json_file
    m = hashlib.sha256()
    m.update(file_bearer.encode('utf-8'))
    integrity_hash = m.hexdigest()
    new_object = cls(json_file=file_bearer, integrity_hash=integrity_hash)
    return new_object

这段代码有什么问题吗?虽然更正常的做法是重写
保存
并将此逻辑放在那里。这段代码没有列出任何内容,所以我甚至不确定它是否在创建任何内容。你能具体说明你的意思吗?我不确定“没有列出任何东西”是什么意思。你如何调用这个代码,你期望发生什么,它与你实际看到的有什么不同?正如我所说的,您通常在保存模型实例时执行此操作,而不是在创建模型实例时执行此操作,这可以通过定义save方法来实现。它是django项目中的一个模型。模型在基于函数的视图中调用,表单按预期工作,但我的列表视图不会返回任何内容。我确信列出它本身并没有问题,而是按照我想要的方式创建对象。你能写一封回复信来说明你使用save方法的意思吗?