如何在django模型中表示具有默认值(在SQL中指定)的列?
表:
CREATE TABLE myTable
(
id SERIAL,
myGuid VARCHAR DEFAULT uuid_generate_v4(),
anotherColumn VARCHAR
)
型号:
class myTable(models.Model):
id = models.AutoField(primary_key=True)
#How to represent myGuid column
anotherColumn = models.CharField(max_length=40)
class Meta:
db_table = "myTable"
我正在使用Python 2.7.3和Django 1.4.2
答案 0 :(得分:1)
您可以使用python中的uuid作为uuid字段的默认值,而不是在DB级别定义它。
import uuid
def get_uuid():
return str(uuid.uuid4())
class myTable(models.Model):
id = models.AutoField(primary_key=True)
myuuid = models.CharField(max_length=40, unique=True, default=get_uuid)
anotherColumn = models.CharField(max_length=40)
class Meta:
db_table = "myTable"