user_image
By  用户6194890949    On   2020年4月30日 23:13

老师,您好!按照您的讲解,我在做后端Admin界面时,在设置多列表时出现问题,我的admin界面里面分两组,一组是后台自带的user和Group,另一组(组名assets)是我自己创建的(包含操作记录、物资类型、用户、确认码),然后我现在的问题是在操作记录里面列表只有一列属性(比如操作人是哪位),但我想实现操作记录里面多列属性(包含操作人,操作时间,操作类型),尝试了很多次没成功,我自己创建的组中的操作记录选项打开时的网页链接为http://127.0.0.1:8000/admin/assets/matlog/, 我想请教您的问题是,如何修改我目前的代码,以下是我的代码(assets/admin.py为 from django.contrib import admin # Register your models here. from assets import models class AssetAdmin(admin.ModelAdmin): #list_display = ['asset_type', 'name', 'status', 'approved_by', 'c_time', "m_time"] list_display = ['asset_type', 'name', 'status', 'approved_by', 'c_time', "m_time"] admin.site.register(models.User)#后台用户信息 admin.site.register(models.Mat)#后台物资数据库信息 admin.site.register(models.MatLog)#后台操作记录信息 admin.site.register(models.ConfirmString)#确认码信息 # admin.site.register(models.IDC) # admin.site.register(models.Manufacturer) ////////////////////////////////////////////////////////////////////////////////////////////////////////////////隔开符 assets/models.py为 from django.db import models from django.contrib.auth.models import User #日志表 class MatLog(models.Model): """ 日志. 在关联对象被删除的时候,不能一并删除,需保留日志。 因此,on_delete=models.SET_NULL """ log_id = models.IntegerField(unique=True, verbose_name="编号") # 不可重复 log_type_choice = ( ('入库', '入库操作'), ('出库', '出库操作'), ('调库', '调库操作'), ('盘整','盘整操作'), ) mat = models.ForeignKey(Mat, blank=True, null=True,related_name='log_mat',on_delete=models.SET_NULL) user = models.ForeignKey(User, blank=True, null=True, verbose_name='事件执行人',related_name='log_user',on_delete=models.SET_NULL) # 执行人 event_type = models.CharField(verbose_name='事件类型',max_length=64, choices=log_type_choice, default='盘整') detail = models.TextField(verbose_name='事件详情') date = models.DateTimeField(verbose_name='事件时间', auto_now_add=True) memo1 = models.TextField(verbose_name='备注1', blank=True, null=True) memo2 = models.CharField(verbose_name='备注2', max_length=64,blank=True, null=True) memo3 = models.DateTimeField(verbose_name='备注3', blank=True, null=True) memo4 = models.IntegerField(verbose_name='备注4', max_length=64,blank=True, null=True) def __str__(self): return self.event_type class Meta: verbose_name = "事件类型" verbose_name_plural = "操作记录") 期待老师您的回复,以解决我的困惑,谢谢!