Я прочитал об объектах InlineModelAdmin и попытался реализовать это.В основном у меня есть две модели соответственно контрактов и контрактов.
class contracts(models.Model):
productDetailID=models.ForeignKey(productDetails,on_delete=models.CASCADE,verbose_name='Select Product')
supplierID=models.ForeignKey(suppliers,on_delete=models.CASCADE,verbose_name='Select Supplier')
totalUnits=models.IntegerField(verbose_name='Total Units',editable=False)
ratePerUnit=models.IntegerField(verbose_name='Rate Per Unit',editable=False)
saleTax=models.IntegerField(verbose_name='Sale Tax')
incomeTax=models.IntegerField(verbose_name='Income Tax')
saleTaxwithHeld=models.IntegerField(verbose_name='Sale Tax with Held')
startDate=models.DateField(verbose_name='Start Date')
endDate=models.DateField(verbose_name='End Date')
manulContractNumber=models.IntegerField(verbose_name='Manul Contract Number')
paymentDays=models.IntegerField(verbose_name='Payment Days')
remarks=models.CharField(verbose_name='Remarks',max_length=100,default=None)
dateOfEntry=models.DateField(editable=False,default=datetime.now())
class contractDetails(models.Model):
contractID=models.ForeignKey(contracts,on_delete=models.CASCADE,verbose_name='Select Contract')
weightPerBag=models.IntegerField(verbose_name='Weight Per Bag')
conesPerBag=models.IntegerField(verbose_name='Cones Per Bag')
weightPerCone=models.IntegerField(verbose_name='Weight Per Cone')
noOfBags=models.IntegerField(verbose_name='No of Bags')
noOfAdditional=models.IntegerField(verbose_name='No of Additional Cones')
ContractDetails имеет contractID как foregnkey.Теперь я попытался создать одну форму из этих двух моделей, используя InlineModelAdmin.
from django.contrib import admin
from Purchase.models import suppliers,Contacts,contracts,contractDetails
class contractsInline(admin.TabularInline):
model = contracts
class contractsdetailsInline(admin.TabularInline):
model = contractDetails
class contractsAdmin(admin.ModelAdmin):
inlines = [
contractsInline,
contractsdetailsInline
]
# Register your models here.
admin.site.register(suppliers)
admin.site.register(Contacts)
admin.site.register(contracts,contractDetails)
admin.site.register(contractsAdmin)
Но всегда возвращалось сообщение об ошибке, когда я пытался перенести ее
TypeError: объект 'MediaDefiningClass'не повторяется