试图查看syncdb将在当前时刻生成的SQL.
经过几次搜索,答案并不明显 - 我知道你可以使用:
python manage.py syncdb --sqlall
Run Code Online (Sandbox Code Playgroud)
收益:
Create the database tables for all apps in INSTALLED_APPS whose tables haven't already been created.
Run Code Online (Sandbox Code Playgroud)
如果代码完全改变,如何输出整个数据库发生的更改?
有没有办法为所有需要syncdb'ing的应用程序生成所有SQL?或者我需要明确说明每个应用程序?我不是在寻找整个站点的所有SQL,只是为了实现syncdb实现的更改.
我有几个应用程序需要生成sql来描述更改.我可以明确地列出它们,但syncdb有没有办法为我解决这个问题?
def generate_uuid_file_name(self, filename):
self.original_filename = filename
extension = filename.rsplit('.', 1)[1]
newfilename = uuid.uuid4().__str__() + '.' + extension
return self.directory() + newfilename
class FileUpload(models.Model):
original_filename = models.CharField(max_length=128)
fileobj = models.FileField(upload_to=generate_uuid_file_name)
Run Code Online (Sandbox Code Playgroud)
上传时,
{"errors": {"original_filename": ["This field is required."]}, "success": false}
Run Code Online (Sandbox Code Playgroud)
将blank = True,null = True添加到FileUpload.original_filename允许上载成功但不保存原始文件名.在Django 1.5上.根据这篇文章,这应该工作.