gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-01 11:26:00 25 4
gpt4 key购买 nike

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

object instead of field name

管理文件

    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)

模型.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 .

关于python - Django 管理表单,外键中的字段而不是对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37167977/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com