Python 需要使用django模型添加外键的帮助吗
好吧,所以我不知道怎么框这个。 我有两种模式:员工模式和客户模式。我将员工作为外键存储在emp_id下的客户模型中。epm_id存储接纳该客户的员工的主键。我不知道如何在django做到这一点。 以下是我的模型:Python 需要使用django模型添加外键的帮助吗,python,python-3.x,django,Python,Python 3.x,Django,好吧,所以我不知道怎么框这个。 我有两种模式:员工模式和客户模式。我将员工作为外键存储在emp_id下的客户模型中。epm_id存储接纳该客户的员工的主键。我不知道如何在django做到这一点。 以下是我的模型: class Customer(models.Model): firstname = models.CharField(max_length=15) lastname = models.CharField(max_length=15) age = models.I
class Customer(models.Model):
firstname = models.CharField(max_length=15)
lastname = models.CharField(max_length=15)
age = models.IntegerField()
sex = models.CharField(max_length=10)
phoneno = models.IntegerField()
emailid = models.CharField(max_length=25)
address = models.CharField(max_length=50)
children = models.IntegerField()
adults = models.IntegerField()
roomtype = models.CharField(max_length=10)
aadharno = models.CharField(max_length=15)
daysstayed = models.IntegerField()
date_visited = models.DateTimeField(default=timezone.now)
emp_id = models.ForeignKey(Employee,on_delete=models.SET_NULL,blank=True,null=True)
class Employee(models.Model):
firstname = models.CharField(max_length=15)
lastname = models.CharField(max_length=15)
age = models.IntegerField()
sex = models.CharField(max_length=10)
phoneno = models.IntegerField()
emailid = models.CharField(max_length=25)
address = models.CharField(max_length=50)
salary = models.IntegerField()
designation = models.CharField(max_length=10)
password = models.CharField(max_length=10)
aadharno = models.CharField(max_length=15)
datejoined = models.DateField(default=timezone.now)
我在这里需要一些帮助。我建议最好的方法是按照以下方式创建模型: 型号.py
from django.db import models
from django.contrib.auth.models import User
SEX = [
('male', 'Male'),
('female', 'Female'),
('not_to_say', 'Rather not to say')
]
class BaseModel(models.Model):
age = models.IntegerField()
sex = models.CharField(max_length=20, choices=SEX)
phone = models.CharField(max_length=10)
address = models.CharField(max_length=50)
aadhar_no = models.CharField(max_length=15)
class Employee(BaseModel):
user = models.ForeignKey(User, on_delete=models.CASCADE, related_name='employee_user')
salary = models.IntegerField()
designation = models.CharField(max_length=10)
class Customer(BaseModel):
user = models.ForeignKey(User, on_delete=models.CASCADE, related_name='customer_user')
childrens = models.IntegerField()
adults = models.IntegerField()
room_type = models.CharField(max_length=10)
days_stayed = models.IntegerField()
date_visited = models.DateTimeField(default=timezone.now)
employee = models.ForeignKey(Employee, on_delete=models.SET_NULL, relted_name='serving_employee')
您可以从employee.user
访问员工的密码
,加入日期
,名字
,姓氏
,客户的电子邮件
,以及客户的名字
,姓氏
,电子邮件
我希望这能解决您的问题。emp\u id
可以命名为emp
,它将访问员工的实例。你的问题是什么?