Django管理表单,外键中的字段而不是对象 - python

我使用一个功能键来引用我的父对象中的另一个对象。但是,当我转到django admin创建的下拉列表时,我得到的是对象名称而不是字段值。如何将字段值添加到表单?

Django管理表单,外键中的字段而不是对象 - python

管理员

    from django.contrib import admin

from .models import Maintenance
from .models import MaintenanceType
from .models import ServiceType

# Register your models here.


class MaintenanceAdmin(admin.ModelAdmin):
    list_display = ('Title','Impact','Service','Description','StartTime','EndTime',)
    list_editable = ('Title','Impact','Service','Description','StartTime','EndTime',)


admin.site.register(Maintenance, MaintenanceAdmin)

class MaintenanceTypeAdmin(admin.ModelAdmin):
    list_display = ('Type',)
    list_editable = ('Type',)

admin.site.register(MaintenanceType, MaintenanceTypeAdmin)

class ServiceTypeAdmin(admin.ModelAdmin):
    list_display = ('Service','Service',)
    list_editable = ('Service','Service',)

admin.site.register(ServiceType, ServiceTypeAdmin)

models.py

from django.db import models

# Create your models here.

class MaintenanceType(models.Model):
    Type = models.CharField(max_length=200)

    class Meta:
                verbose_name = "Planned Maintenance Types"
                verbose_name_plural = "Planned Maintenance Types"

class ServiceType(models.Model):
    Service = models.CharField(max_length=200)

    class Meta:
                verbose_name = "Service Types"
                verbose_name_plural = "Service Types"                

class Maintenance(models.Model):
    Title = models.CharField(max_length=200)
    Impact = models.ForeignKey(MaintenanceType)
    Service = models.ForeignKey(ServiceType)
    Description = models.TextField()
    StartTime = models.DateTimeField()
    EndTime = models.DateTimeField()

    class Meta:
                verbose_name = "Planned IT Maintenance"
                verbose_name_plural = "Planned IT Maintenance"                

参考方案

__str__模型中实现MaintenanceType,该模型应以您希望在下拉菜单(以及其他位置)中显示的任何格式返回字符串。

看来您只需要return self.Type即可。

Django-不是注册的名称空间 - python

我正在尝试使用以下代码在django / python中处理表单。home.html:<form action="{% url 'home:submit' %}"method='post'> views.py:def submit(request): a = request.POST([…

在返回'Response'(Python)中传递多个参数 - python

我在Angular工作,正在使用Http请求和响应。是否可以在“响应”中发送多个参数。角度文件:this.http.get("api/agent/applicationaware").subscribe((data:any)... python文件:def get(request): ... return Response(seriali…

Python exchangelib在子文件夹中读取邮件 - python

我想从Outlook邮箱的子文件夹中读取邮件。Inbox ├──myfolder 我可以使用account.inbox.all()阅读收件箱,但我想阅读myfolder中的邮件我尝试了此页面folder部分中的内容,但无法正确完成https://pypi.python.org/pypi/exchangelib/ 参考方案 您需要首先掌握Folder的myfo…

python JSON对象必须是str,bytes或bytearray,而不是'dict - python

在Python 3中,要加载以前保存的json,如下所示:json.dumps(dictionary)输出是这样的{"('Hello',)": 6, "('Hi',)": 5}当我使用json.loads({"('Hello',)": 6,…

'ManyToManyDescriptor'类型的参数不可迭代 - python

我有模式:class Subscribe(models.Model): class Meta: verbose_name_plural = 'sunscribes' id=models.AutoField(primary_key=True) name=models.CharField(max_length=30,null=False); …