作者热门文章
- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我构建了一个名为 bbs 的模型,并引用了 User 表。
class Bbs_User(models.Model):
sid = models.AutoField(primary_key=True)
name = models.CharField(max_length=45)
#...
class Bbs(models.Model):
sid = models.AutoField(primary_key=True)
writer = models.ForeignKey(Bbs_User)
title = models.CharField(max_length=80)
content = models.TextField()
class Meta:
db_table = 'Bbs'
def __str__(self)
return self.title
在mysql客户端中,我查看了Bbs表布局。
mysql> desc Bbs
+-------------+--------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-------------+--------------+------+-----+---------+----------------+
| sid | int(11) | NO | PRI | NULL | auto_increment |
| writer_id | int(11) | NO | MUL | NULL | |
此时我想知道为什么字段名是'writer_id'。
我认为字段名称必须是 'writer_sid' 或 'writer'。
我该如何解决?
最佳答案
默认情况下,Django 通过将 _id
附加到您在模型中定义的字段名称来填充列的名称。您必须使用 db_column
显式指定列名属性如下:
writer = models.ForeignKey(Bbs_User, db_column='writer_sid')
关于python - 如何在 Django 中给外键名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32623764/
我是一名优秀的程序员,十分优秀!