我正在创建员工监控系统。我现在有3个模型。他们来了
class User(models.Model):
username= models.CharField(max_length=256, verbose_name='Username')
first_name = models.CharField(max_length=256, verbose_name='First Name')
last_name = models.CharField(max_length=256, verbose_name='Last Name')
email=models.EmailField(max_length=256, verbose_name='Email')
def __str__(self):
return self.first_name + self.last_name
class Departments(models.Model):
department_name= models.CharField(max_length=256, verbose_name='Departments')
def __str__(self):
return self.department_name
class Designation(models.Model):
department_name= models.ForeignKey(Departments, on_delete=models.CASCADE)
designation_name=models.CharField(max_length=256, verbose_name='Designation')
def __str__(self):
return '{} {}'.format(self.department_name, self.designation_name)
class Employee(models.Model):
user= models.OneToOneField(User, on_delete=models.CASCADE, primary_key=True,)
department_name= models.ForeignKey(Departments, on_delete=models.CASCADE)
designation_name= models.ForeignKey(Designation, on_delete=models.CASCADE)
salary= models.FloatField(null=False, default=0.0, verbose_name='Salary')
image = models.ImageField(upload_to = 'employee_images', null=True, blank=True)
def __str__(self):
return '{} {} {}'.format(self.user.first_name + self.user.last_name, self.department_name.department_name, self.designation_name.designation_name)
def image_tag(self):
return mark_safe('<img src="/employee_images/%s" width="150" height="150" />' % (self.image))
image_tag.short_description = 'Image'
我return self.first_name +self.last_name
的 in def __str__(self)
ofemployee table
并没有给我这两个名字之间的任何差距。我不知道该怎么做。
我已经尝试了这个网站上每个人建议的所有方法来在 admin.py 上显示图像,但我无法显示它们。这是我的 admin.py
管理员.py
@admin.register(Employee)
class EmployeeAdmin(admin.ModelAdmin):
list_display= ('first_name', 'last_name', 'designation_name', 'department', 'salary', 'image_tag')
def first_name(self, obj):
return obj.user.first_name
def last_name(self, obj):
return obj.user.last_name
def designation_name(self, obj):
return obj.designation.designation_name
def department(self, obj):
return obj.department_name.department_name
我的最后一件事designation_name
不仅是归还我designation_name
,而且还归还我department_name
。我只是想designation_name
出现。