我有两个型号;员工和产品。 这两个表已经有数据了。 我需要做的就是将每个员工分配给一个产品(例如计算机),然后能够检索数据并显示它。
这是模型。
from django.db import models
from django.utils import timezone
from django.dispatch import receiver
from more_itertools import quantify
from django.db.models import Sum
# Create your models here.
class Employee(models.Model):
address = models.EmailField(max_length=100,null=True)
first_name = models.CharField(max_length=50,null=True)
sec_name = models.CharField(max_length=50,null=True)
department = models.CharField(max_length= 50,null=True)
company = models.CharField(max_length= 50,null=True)
date_created = models.DateTimeField(default=timezone.now)
date_updated = models.DateTimeField(auto_now=True)
def __str__(self):
return self.first_name + ' - ' + self.department
class Product(models.Model):
model=models.CharField(max_length=50, null=True)
serial=models.CharField(max_length=50, null=True)
hd_size=models.CharField(max_length=50,null=True)
ram=models.CharField(max_length=50, null=True)
processor=models.CharField(max_length=50, null=True)
date_created = models.DateTimeField(default=timezone.now)
date_updated = models.DateTimeField(auto_now=True)
def __str__(self):
return self.serial + ' - ' + self.model
您需要做的就是创建另一个具有两个字段
first_name
和 model
的模型
你的新模型看起来像这样:
class AssignLog(models.Model):
fname = models.ForeignKey(Employee,on_delete=models.CASCADE)
model_name = models.ForeignKey(Product,on_delete=models.CASCADE)
确保跑步
python manage.py makemigrations
python manage.py migrate
显示使用此代码的所有记录。
from .models import AssignLog
all_assign_logs = AssignLog.objects.all()
for assign_log in all_assign_logs:
print(f"Employee Name: {assign_log.first_name}")
print(f"Product Model: {assign_log.model}")
# Add more fields if needed
print("\n")