0

如何在 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

4

1 回答 1

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"
于 2013-06-26T05:25:42.697 回答