2017-09-21 468 views
1

要創建管理界面來編輯某些字段,這是最佳做法嗎?自定義默認的Django管理員或創建管理員模板?Django管理面板界面

我想通過管理員編輯status字段。但其他字段,管理員無法編輯..在這種情況下,我可以爲管理員編寫新的視圖和模板,或者只是自定義默認的管理面板?

class SendProduct(models.Model): 
    PAYMENT_CHOICE = (
     ('A', 'Advanced'), 
     ('C', 'COD'), 
    ) 
    item_name = models.CharField(max_length=200) 
    item_details = models.TextField() 
    delivery_address = models.TextField() 
    payment_type = models.CharField(max_length=1, choices=PAYMENT_CHOICE) 
    payable_amount = models.IntegerField(default=0) 
    delivery_charge = models.IntegerField(default=0) 
    qr_code = models.ImageField(upload_to='qrcode', blank=True, null=True) 
    user = models.ForeignKey(Profile, on_delete=models.CASCADE) 
    status = models.IntegerField(default=0) 
+0

如何構建您想要適應的模型?如果你需要有效的幫助,你應該添加它。 – PRMoureu

回答

1

排除字段並將其設置爲只讀(admin.py)。下面給出一個示例

class SendProductAdmin(admin.ModelAdmin): 
    exclude=("item_name ",) 
    readonly_fields=('item_name',) 

admin.site.register(SendProductAdmin) 

請注意,您可以根據需要排除儘可能多的字段。

0

有管理面板的使用和您開發的意見,你要注意區別之間差異的管理面板是staff users,這是公司內部和組織提供內容給用戶最終用戶。

那麼誰會用這種形式工作?決定在這個基礎上,你可以在管理面板和開發視圖中完成你想要做的事情。

+0

我已添加我的模型。我想通過管理員編輯狀態。但其他字段,管理員無法編輯..在這種情況下,我可以爲管理員編寫新的視圖和模板,或者只是自定義默認的管理面板? –

+0

您需要限制某些用戶的管理面板?所以他們只能編輯一些字段? – Serjik

+0

asloe管理員不能編輯某些字段... –