我有一个Django模型:
Class DataFile(models.Model):
file = models.FileField(upload_to=get_file_upload_path)
但是,file
是MySQL中的保留关键字。
我知道我们可以使用任何保留的关键字作为列名,只需将其包装在``中即可。
我的学长建议我不要使用保留的关键字,而是使用除了文件之外几乎有意义的东西。
缺点是什么?
但是,
file
是MySQL中的保留关键字。
使用Django时,这不是问题。您可以使用db_column=…
参数[Django-doc]在数据库级别使用不同的名称。
例如:
class DataFile(models.Model):
file = models.FileField(upload_to=get_file_upload_path, db_column='filepath')
因此,现在您可以使用my_data_file.file
访问Django级别的字段,但在数据库端,列名为filepath
。Django将对filepath
列进行这样的查询。