例如,假設我們有汽車和製造商,汽車模型包含製造商的外鍵(許多汽車對一個製造商)。在製造商管理頁面中,當您創建新的製造商時,您可以輸入製造商可能擁有的任何字段,例如名稱或地址。在給定模型的Django管理頁面中,是否可以創建一個或多個將原始給定模型作爲外鍵字段的模型?
有沒有辦法在製造商管理頁面上創建屬於給定製造商的新車?例如,系統會提示您在製造商頁面上選擇汽車,或者有能力創建一個,如果您想要的不存在。如果這是可能的,是否有辦法以這種方式創建屬於該製造商的任意數量的汽車?
例如,假設我們有汽車和製造商,汽車模型包含製造商的外鍵(許多汽車對一個製造商)。在製造商管理頁面中,當您創建新的製造商時,您可以輸入製造商可能擁有的任何字段,例如名稱或地址。在給定模型的Django管理頁面中,是否可以創建一個或多個將原始給定模型作爲外鍵字段的模型?
有沒有辦法在製造商管理頁面上創建屬於給定製造商的新車?例如,系統會提示您在製造商頁面上選擇汽車,或者有能力創建一個,如果您想要的不存在。如果這是可能的,是否有辦法以這種方式創建屬於該製造商的任意數量的汽車?
只要你的車有外鍵的製造商,你應該能夠在Django管理選擇
在你的模型:
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)
這應該做到這一點。
這是不是隻顯示默認情況下顯示的字段?我正在尋找一種基本上將「汽車」字段添加到製造商管理頁面的方法。 –
您正在尋找['InlineModelAdmin'](https://docs.djangoproject.com/zh/1.9/ref/contrib/admin/#inlinemodeladmin-objects)。 –
文檔似乎沒有提到這一點,但是你知道它們應該放在什麼文件中嗎? Models.py? –
或者inline和admin類應該在admin.py中? –