WideRating2024/company_data/admin.py

62 lines
3.2 KiB
Python
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

from django.contrib import admin
from django.urls import reverse
from django.utils.html import format_html
from company_data.models import CompanyResearchInfo
class CompanyResearchInfoAdmin(admin.ModelAdmin):
list_display = ['company_name', 'legal_entity_name', 'shareholder_nature', 'action_buttons']
search_fields = ['company_name'] # 根据问卷名称进行搜索
list_filter = ['shareholder_nature'] # 添加过滤器
# 修改列表页属性
def action_buttons(self, obj):
view_name = 'admin:company_data_companyresearchinfo_change' # 定义视图名称这是Django admin中用于编辑对象的视图
format_string = '<a class="button" href="{}">编辑</a>&nbsp;''<a class="button" href="{}">删除</a>' # 定义按钮的HTML格式其中的"{}"将被下面的`url`替换
url = reverse(view_name, args=[obj.pk]) # 使用Django的`reverse`函数生成编辑页面的URL其中`args=[obj.pk]`表示将对象的主键作为参数传递给视图
return format_html(format_string, url, url) # 使用Django的`format_html`函数将格式字符串和URL组合成HTML代码
action_buttons.short_description = '操作' # 设置该方法在Django admin界面中的显示名称为"操作"
# 修改编辑页属性
fieldsets = (
('工商信息', {'fields': (
("company_name", "legal_entity_name", "shareholder_nature"),
'main_business',
)}),
('股东及董监高', {'fields': (
("senior_management_experience", "has_board", "board_members_count"),
("has_supervisory_board", "supervisory_members_count", "annual_support_funds"),
)}),
('人员信息', {'fields': (
("management_staff_count", "functional_staff_count", "sales_staff_count"),
("technical_service_staff_count", "bachelors_or_above_count", "below_bachelors_count"),
("year_end_total_employees", "annual_resignation_count", "training_participation_count"),
("average_weekly_working_days", "average_daily_working_hours", "work_related_casualties")
)}),
('经营情况', {'fields': (
("sales_amount", "returns_amount", "privacy_breach_incidents"),
("total_service_times", "valid_customer_complaints", "complaints_resolved", "complaint_response_time"),
)}),
('经营场所信息', {'fields': (
("operating_site_area", "operating_site_location", "operating_site_ownership")
)}),
('银行账户信息', {'fields': (
("rmb_account_bank_name", "rmb_bank_account"),
("foreign_currency_bank_name", "foreign_currency_bank_account"),
"loan_card_number"
)}),
('公司制度', {'fields': (
("has_quality_management_system", "has_financial_management_system", "has_contract_management_system",
"has_hr_management_system"),
)}),
('补充信息', {'fields': (
("social_responsibility_implementation", "business_credit_record"),
("customs_credit_record", "bank_credit_record"),
("court_credit_record", "production_safety_information")
)}),
)
admin.site.register(CompanyResearchInfo, CompanyResearchInfoAdmin)