使用“id”字段生成Django“unique_together”键

时间:2015-08-02 11:47:03

标签: python django

这是模型

class MyModel(models.Model):
    id = models.CharField(max_length=10, primary_key=True)
    password = models.CharField(max_length=25)
    area = models.CharField(max_length=100, primary_key=True)

    def __unicode__(self):
        return "%s from %s" % (self.id, self.area)

    class Meta:
        unique_together = (("id", "area"),)

我正在尝试使用Django的内置Id功能生成一个唯一键,而不会将Id作为主键。

可能的?

1 个答案:

答案 0 :(得分:2)

我认为您不能拥有基于多列的主键(参见django doc:https://code.djangoproject.com/wiki/MultipleColumnPrimaryKeys)。

只有unique_together仍然可以使用。

如果你想要的是一个不是主键的自动增量字段:

  

AutoField¶

     

class AutoField(** options)¶一个自动的IntegerField   根据可用ID递增。您通常不需要使用   直接;主键字段将自动添加到您的   如果没有另外指定,请使用模型。请参阅自动主键   字段。