创建外键:
from django.db import models class usergroup(models.Model): uid = models.AutoField(primary_key=True) groupname = models.CharField(max_length=64,db_column="name") ctime = models.DateTimeField(auto_now_add=True) utime = models.DateTimeField(auto_now=True) class userinfo(models.Model): username = models.CharField(max_length=32) password = models.CharField(max_length=60) email = models.EmailField(max_length=60) user_type_choice = ( (1,'超级用户'), (2,'管理员'), (3,'普通用户'), ) user_type_id = models.IntegerField(choices=user_type_choice,default=3) usergroup = models.ForeignKey("usergroup",to_field='uid',default=1,on_delete='uid')
以上我们就在userinfo中创建了一个外键关联usergroup通过uid字段,且默认用户的组是uid为1的组。
查询:通过userinfo调用usergroup的信息,
obj = models.userinfo.objects.first()
obj.usergroup是一个usergroup类的对象 还可以继续调用
obj.usergroup.groupname 表示此用户的用户组是什么
创建:创建一个有外键的行
models.userinfo.objects.create(
username = "root2",
password = '123',
email = 'abc@163.com',
user_type_id = 1,
usergroup_id = 2,
#usergroup = models.usergroup.objects.filter(uid=2).first(), 虽然这种方式也能创建,但多了一步操作我们都用上一行这种方式创建。
)