Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/319.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/oop/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Django模型保存覆盖不更改自身_Python_Mysql_Django - Fatal编程技术网

Python Django模型保存覆盖不更改自身

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

我一直在使用非Django遗留MySQL数据库。我需要编写每次保存模型对象时生成唯一文件名的代码。下面的方法不起作用。它不会覆盖文件名字段。无论文件名字段设置为什么,它都可以很好地保存。这是因为该字段被设置为主键吗

(我意识到我的代码并没有创建一个随机文件名——还没到那个程度。而且,我知道这只会保存一次,因为它需要是唯一的,但它甚至不会保存第一次)


在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)