我已经在Django工作了大约一个星期,所以我对以下内容并不了解。我需要为我的模型和postgres数据库中的字段创建一个序列,从1000开始自动递增。所以它将列出如下: 1000,1001,1002等....
到目前为止,我已经研究过了,我需要扩展save函数并检查db中的前一个值。
最终结果是能够使用此模型发布到API,并且此字段会增加如上所述。
class MyModel(AuditMixin, models.Model):
order_number = models.IntegerField(blank=False)
def get_number(self):
return ???
def save(self):
??? .save()
答案 0 :(得分:0)
到目前为止,我已经研究过了,我需要扩展save函数并检查db中的前一个值。
通常执行SELECT后跟基于SELECT的插入或更新对于任何RDBMS都是一个坏主意。因为这可能导致竞争条件,并且数据库内置了避免这种竞争条件的机制,并且通常更快。
Postgresql有Serial类型。它将包含在Django的下一个主要版本的django.contrib.posgres中,但是现在。像这样创建自定义迁移:
# Start of loop over filenames
# get inode of file
inode=$( ls -i $file | cut -d' ' -f1 )
# If file inode does not show up in lsof, run the ftp command in the background
lsof | grep "$inode" || ftp $file <destination> &
# End of loop
如果您之前从未创建过自定义迁移,请查看RunPython