【发布时间】:2013-12-18 05:57:51
【问题描述】:
我正在使用 django 1.5.5 和 python 2.7 和 MySQL
这是我的模特
class Foo(models.Model):
user = models.ForeignKey(User)
date = models.DateTimeField(null=True, blank=True,editable=True)
class Meta:
unique_together = ('user', 'date')
如果我使用它,我可以添加 2 条具有相同用户和空日期的记录。
我希望即使对于空日期也能强制执行唯一性。
建表命令
CREATE TABLE `management_foo`
( `id` int(11) NOT NULL AUTO_INCREMENT,
`user_id` int(11) NOT NULL,
`date` datetime DEFAULT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `user_id` (`user_id`,`date`),
KEY `management_foo_6232c63c` (`user_id`),
CONSTRAINT `user_id_refs_id_d47e5747` FOREIGN KEY (`user_id`)
REFERENCES `auth_user` (`id`))
ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=latin1
和表格描述
+-------------+--------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-------------+--------------+------+-----+---------+----------------+
| id | int(11) | NO | PRI | NULL | auto_increment |
| user_id | int(11) | NO | MUL | NULL | |
| date | datetime | YES | | NULL | |
+-------------+--------------+------+-----+---------+----------------+
【问题讨论】:
-
这张表在 DB 中的外观如何?
-
@akaRem 两个记录在数据库中的日期都为空
-
@Alasdair 回答谈到 Postgresql
-
@yossi 我的意思是
DESCRIBE "foo"; -
@akaRem 添加了表创建和描述