From 0a3fa187dcdf5e821eafc3bcb8c927aac6b7c409 Mon Sep 17 00:00:00 2001 From: newpanjing Date: Mon, 20 May 2019 19:14:44 +0800 Subject: [PATCH] =?UTF-8?q?=E5=8A=9F=E8=83=BD=E5=A2=9E=E5=8A=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- db.sqlite3 | Bin 204800 -> 208896 bytes demo/admin.py | 10 ++++++++-- demo/models.py | 12 ++++++++++++ finance/admin.py | 5 +++-- requirements.txt | 3 ++- 5 files changed, 25 insertions(+), 5 deletions(-) diff --git a/db.sqlite3 b/db.sqlite3 index d597e746f3610bf02aae2485aa4602ef7e8deb39..1a43367b6a534a1fe24cf2c2c516f67b88dc516f 100644 GIT binary patch delta 2657 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 Hq2m7m_IQbY diff --git a/demo/admin.py b/demo/admin.py index 6f5a825..c4e8128 100644 --- a/demo/admin.py +++ b/demo/admin.py @@ -19,6 +19,10 @@ class DepartmentAdmin(admin.ModelAdmin): actions_on_top = True +class ImageInline(admin.TabularInline): + model = Image + + @admin.register(Title) class TitleAdmin(admin.ModelAdmin): # 要显示的字段 @@ -29,7 +33,9 @@ class TitleAdmin(admin.ModelAdmin): # 分页显示,一页的数量 list_per_page = 10 - + inlines = [ + ImageInline, + ] @admin.register(Employe) @@ -37,7 +43,7 @@ class EmployeAdmin(admin.ModelAdmin): list_display = ('id', 'name', 'gender', 'idCard', 'phone', 'birthday', 'department', 'enable', 'create_time') search_fields = ('name', 'enable') list_per_page = 10 - + raw_id_fields = ('department', 'title') list_filter = ('department', 'create_time', 'birthday', 'time', 'enable', 'gender') list_display_links = ('name', 'idCard') diff --git a/demo/models.py b/demo/models.py index d5650bf..b72c043 100644 --- a/demo/models.py +++ b/demo/models.py @@ -30,6 +30,18 @@ class Title(models.Model): return self.name +class Image(models.Model): + image = models.ImageField(verbose_name='图片') + title = models.ForeignKey(Title, on_delete=models.SET_NULL, blank=False, null=True, ) + + class Meta: + verbose_name = '图片' + verbose_name_plural = '图片管理' + + def __str__(self): + return self.image.path + + class Employe(models.Model): name = models.CharField(max_length=128, verbose_name='名称', help_text='员工的名字', null=False, blank=False, db_index=True) diff --git a/finance/admin.py b/finance/admin.py index b6d9a8e..f9e078d 100644 --- a/finance/admin.py +++ b/finance/admin.py @@ -2,7 +2,7 @@ from django.contrib import admin from finance.models import * from import_export import resources -from import_export.admin import ImportExportModelAdmin +from import_export.admin import ImportExportModelAdmin, ImportExportActionModelAdmin class ProxyResource(resources.ModelResource): @@ -13,7 +13,8 @@ class ProxyResource(resources.ModelResource): # Register your models here. @admin.register(Record) # class RecordAdmin(admin.ModelAdmin): -class RecordAdmin(ImportExportModelAdmin): +# class RecordAdmin(ImportExportModelAdmin): +class RecordAdmin(ImportExportActionModelAdmin): resource_class = ProxyResource diff --git a/requirements.txt b/requirements.txt index 0a339ca..07976d4 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,3 +1,4 @@ Django==2.2 django-import-export==1.2.0 -django-simpleui \ No newline at end of file +django-simpleui +Pillow \ No newline at end of file -- GitLab