例如,假设我们有汽车和制造商,其中汽车模型包含制造商的外键(多辆汽车对应一个制造商)。在制造商管理页面中,当您创建一个新的制造商时,您可以输入制造商可能具有的任何字段,例如名称或地址。
有没有办法也能够在制造商管理页面上创建属于给定制造商的新车?例如,系统将提示您在制造商页面上选择一辆汽车,或者如果您想要的汽车不存在,则可以创建一辆。如果这是可能的,有没有办法以这种方式创建属于该制造商的任意数量的汽车?
发布于 2016-06-21 07:14:25
只要你的车有制造商的外键,你就可以在Django Admin中选择
在您的模型中:
from django.db import models
class Manufacturer(models.Model):
name = models.CharacterField(max_length=200,blank=True,null=True)
location = models.CharacterField(max_length=200,blank=True,null=True)
class Meta:
verbose_name = 'Manufacturer'
verbose_name_plural = 'Manufacturers'
def __str__(self):
return name
class Car(models.Model):
manufacturer= models.ForeignKey(Manufacturer,null=True)
model = models.CharacterField(max_length=200,blank=True,null=True)
class Meta:
verbose_name = 'Car'
verbose_name_plural = 'Cars'
def __str__(self):
return model在您的admin.py中:
from django.contrib import admin
from models import Manufacturer
from models import Car
class ManufacturerAdmin(admin.ModelAdmin):
fieldsets = ((None, {'fields': ['name','location']}),)
class Meta:
verbose_name = 'Manufacturer'
verbose_name_plural = 'Manufacturers'
class CarAdmin(admin.ModelAdmin):
fieldsets = ((None, {'fields': ['manufacturer','model']}),)
class Meta:
verbose_name = 'Car'
verbose_name_plural = 'Cars
admin.site.register(Manufacturer,ManufacturerAdmin)
admin.site.register(Car,CarAdmin)这个应该可以了。
https://stackoverflow.com/questions/37933126
复制相似问题