Python Django模型保存覆盖不更改自身
我一直在使用非Django遗留MySQL数据库。我需要编写每次保存模型对象时生成唯一文件名的代码。下面的方法不起作用。它不会覆盖文件名字段。无论文件名字段设置为什么,它都可以很好地保存。这是因为该字段被设置为主键吗 (我意识到我的代码并没有创建一个随机文件名——还没到那个程度。而且,我知道这只会保存一次,因为它需要是唯一的,但它甚至不会保存第一次)Python Django模型保存覆盖不更改自身,python,mysql,django,Python,Mysql,Django,我一直在使用非Django遗留MySQL数据库。我需要编写每次保存模型对象时生成唯一文件名的代码。下面的方法不起作用。它不会覆盖文件名字段。无论文件名字段设置为什么,它都可以很好地保存。这是因为该字段被设置为主键吗 (我意识到我的代码并没有创建一个随机文件名——还没到那个程度。而且,我知道这只会保存一次,因为它需要是唯一的,但它甚至不会保存第一次) 在Django中,如果更改主键字段的值,将创建具有新键的对象副本。谢谢,正是这样。我想我需要用表格本身来做。 class Agenda(models
在Django中,如果更改主键字段的值,将创建具有新键的对象副本。谢谢,正是这样。我想我需要用表格本身来做。
class Agenda(models.Model):
type = models.IntegerField()
filename = models.CharField(max_length=45, primary_key=True)
date = models.DateField()
class Meta:
managed = False
db_table = 'gbminutes'
def save(self, *args, **kwargs):
self.filename = 'ATESTFILE'
super(Agenda, self).save(*args, **kwargs)