-
django,models怎么把两个字段设成primary key?5
class Times(models.Model): number=models.ForeignKey(Number) ID=models.ForeignKey(Station) time=models.DateTimeField() def __unicode__(self): return '%s,%d'%(self.number,self.ID)
我想把number和ID设成primary key怎么操作?
问题补充:jimmykuu 写道试一下这样:class Times(models.Model): number=models.ForeignKey(Number) ID=models.ForeignKey(Station) time=models.DateTimeField() class Meta: unique_together = ('number', 'ID') primary = ('number', 'ID') def __unicode__(self): return '%s,%d'%(self.number,self.ID)
这样要增加一个primary key字段 id2010年9月25日 16:27
2个答案 按时间排序 按投票排序
-
采纳的答案
我处理时不会用到两个字段做联合主键,用默认生成的一个自增字段id作为主健。
多一个字段又不会增加什么麻烦,顶多不用它就行了。class Times(models.Model): number=models.ForeignKey(Number) station=models.ForeignKey(Station) time=models.DateTimeField()
2010年9月27日 13:09
-
试一下这样:
class Times(models.Model): number=models.ForeignKey(Number) ID=models.ForeignKey(Station) time=models.DateTimeField() class Meta: unique_together = ('number', 'ID') primary = ('number', 'ID') def __unicode__(self): return '%s,%d'%(self.number,self.ID)
2010年9月26日 14:20
相关推荐
当你在Model中定义一个字段并指定其类型为`AutoField`,Django会默认将其设置为主键(`primary_key=True`),并且在每次新记录保存时自动递增这个ID。 在描述中提到的问题是,原本的代码使用了`IntegerField`并手动...
id = models.AutoField(primary_key=True,verbose_name ='编号') title = models.CharField(max_length=100,verbose_name ='标题') content = models.CharField(max_length=20000,verbose_name ='正文') create_...
3. 主键(Primary Key):每个模型都需要一个主键,通常由`id`字段自动处理,它是一个自增的整数。 4. 嵌套模型:模型可以嵌套在其他模型中,实现一对多或一对一的关系。例如,`UserProfile`模型可以作为`User`模型...
在Django ORM中,模型(Models)通过类来映射数据库中的表,字段(Fields)则代表了表中的列。本篇文章将详细介绍Django ORM中常用字段和不常用字段的汇总,包括但不限于字段的定义、使用场景、参数配置以及一些特殊...
本文将深入探讨Django `models.py`应用的实现过程,并介绍各种字段类型及其用途。 首先,让我们创建一个简单的`models.py`文件。在Django项目中,每个应用程序通常都有一个`models.py`文件,它包含应用程序的数据...
`AutoField`的使用方法非常简单,一般在定义模型类时,只需要声明一个名为`id`的字段并将其类型设置为`AutoField`,同时指定`primary_key=True`。例如: ```python class TestModel(models.Model): id = models....
在Django框架中,`ForeignKey`是一个非常重要的字段类型,用于建立两个模型之间的关系,特别是“一对多”(one-to-many)的关系。在这个例子中,`Department`(部门)和`Main`(信息)之间的关系就是一个典型的“一...
首先,Django 提供了丰富的字段类型来定义模型属性,其中 FOREIGN KEY 在数据库层面是对两个表之间关系的一种约束,而 Django 中的 ForeignKey 类型字段则是在模型层面上实现这一功能。在 Django 的 models.py 文件...
applicationname = models.CharField(max_length=50,primary_key=True) ip = models.CharField(max_length=50) port = models.IntegerField(default=22) #设置默认值为22 path = models.CharField(max_length=50...
user = models.ForeignKey(Visitors, on_delete=models.CASCADE, primary_key=True) # ... ``` 这里,`user`字段代替了`user_id`,并且与`Visitors`模型建立了关联。`on_delete=models.CASCADE`指定当`Visitors`...
姜戈厚皮动物 一组用于 PostgreSQL 特殊数据类型的 Django 字段。JSON 直接处理dict对象。 不要手动序列化为字符... from pachyderm.fields import UUIDField class MyModel(models.Model): pk = UUIDField(primary_key
- `primary_key`:指定字段作为主键。 - `unique`:确保字段值在整个表中都是唯一的。 - `verbose_name`:为字段提供更易读的名字。 #### 四、定义数据模型的扩展属性 可以通过内部类`Meta`给数据模型增加更多的元...
Django的每个模型(`model`)类都映射到数据库中的一张表,模型中的字段(`fields`)则对应于表中的列。这种对象关系映射(ORM)机制简化了数据库操作,允许开发者使用Python代码定义数据结构。 2. **数据库操作...
在这个例子中,我们添加了一个自定义的检查,确保每个模型只有一个自增字段,并且该字段要么是主键(primary key),要么设置为唯一键(unique=True)。 ```python def check(self, **kwargs): errors = super...
- 示例:`models.AutoField(primary_key=True)` 11. **`unique`**:是否唯一。 - 示例:`models.CharField(max_length=100, unique=True)` 12. **`unique_for_date`**:对于某个日期字段,该字段是否唯一。 - ...
"id" serial NOT NULL PRIMARY KEY, "name" varchar(30) NOT NULL, "address" varchar(50) NOT NULL, "city" varchar(60) NOT NULL, "state_province" varchar(30) NOT NULL, "country" varchar(50) NOT NULL,...
在某些情况下,我们可能需要为模型设置联合主键(Composite Primary Key),即由两个或多个字段共同构成主键,以确保数据的唯一性。本篇文章将深入探讨如何在Django中创建联合主键,并通过一个具体的例子来说明。 ...