Col*_*ood 0 python mysql django
我是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)
Run Code Online (Sandbox Code Playgroud)
谢谢您的帮助.
Django V 1.3,Python 2.4,Mysql 5.0.77
请求方法:POST请求URL: http:// somehost:8100/admin/users_admin/group_map/add / Django版本:1.3异常类型:DatabaseError异常值:
(1110,"列'id'指定两次")
经验教训:如果它的新数据库不是自己制作表而只是运行python manage.py syncdb,它将为你创建数据库,一切都很好.谢谢您的帮助!
你不能这样做:
group_id = models.ForeignKey(Groups, db_column='id')
user_id = models.ForeignKey(Users, db_column='id')
Run Code Online (Sandbox Code Playgroud)
你只需要这样做:
group_id = models.ForeignKey(Groups)
user_id = models.ForeignKey(Users)
Run Code Online (Sandbox Code Playgroud)
Django会推断使用基于什么样的列Users和Groups主键.
当你在的话,我会建议你改变Groups成Group,Users成User等等,等等.您的代码将更加清晰,因为您将执行以下操作:
user = User()
Run Code Online (Sandbox Code Playgroud)
代替:
user = Users()
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2211 次 |
| 最近记录: |