Python 需要使用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

好吧,所以我不知道怎么框这个。 我有两种模式:员工模式和客户模式。我将员工作为外键存储在emp_id下的客户模型中。epm_id存储接纳该客户的员工的主键。我不知道如何在django做到这一点。 以下是我的模型:

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
,它将访问
员工的实例。你的问题是什么?