gpt4 book ai didi

python - Django 和 DB 错误 "Column ' id'指定了两次”

转载 作者:行者123 更新时间:2023-12-01 00:31:20 25 4
gpt4 key购买 nike

我是 django 的新手,在尝试保存映射时遇到了一些问题。

from django.db import models

# Create your models here.
class Users(models.Model):
user = models.CharField(max_length=45)
password = models.CharField(max_length=125)
env = models.CharField(max_length=10)
class Meta:
db_table = 'esp-users'
def __unicode__(self):
return unicode(self.user)
class Groups(models.Model):
group_name = models.CharField(max_length=45)
description = models.CharField(max_length=255)
env = models.CharField(max_length=45)
class Meta:
db_table = 'esp-groups'
def __unicode__(self):
return unicode(self.group_name)
class Roles(models.Model):
role_name = models.CharField(max_length=45)
env = models.CharField(max_length=10)
class Meta:
db_table = 'esp-roles'
def __unicode__(self):
return unicode(self.role_name)
class Group_Map(models.Model):
group_id = models.ForeignKey(Groups, db_column='id')
user_id = models.ForeignKey(Users, db_column='id')
class Meta:
db_table='esp-group-map'
def __unicode__(self):
return unicode(self.group_id)
class Role_Map(models.Model):
role_id = models.ForeignKey(Roles, db_column='id')
group_id = models.ForeignKey(Groups, db_column='id')
class Meta:
db_table='esp-role-map'
def __unicode__(self):
return unicode(self.role_id)

感谢您的帮助。

Django V 1.3、Python 2.4、Mysql 5.0.77

请求方式:POST请求网址:http://somehost:8100/admin/users_admin/group_map/add/ Django 版本:1.3异常类型:数据库错误异常值:

(1110, "列 'id' 指定了两次")

经验教训:如果它是一个新数据库而不是自己制作表格,只需运行 python manage.py syncdb 它将为您制作数据库,一切都很好。感谢您的帮助!

最佳答案

你不能这样做:

group_id = models.ForeignKey(Groups, db_column='id')
user_id = models.ForeignKey(Users, db_column='id')

你只需要做:

group_id = models.ForeignKey(Groups)
user_id = models.ForeignKey(Users)

Django 将根据 UsersGroups 主键推断要使用的列。

当你这样做时,我建议你将 Groups 更改为 Group,将 Users 更改为 User等等,等等。您的代码将更加清晰,因为您将执行以下操作:

user = User()

代替:

user = Users()

关于python - Django 和 DB 错误 "Column ' id'指定了两次”,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5557769/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com