Django Admin:如何基于应用程序显示和隐藏字段?

时间:2019-04-28 17:45:15

标签: django django-admin

这是当前情况:

我在应用程序“ Transaction”中有一个模型payment

一旦安装了新应用paypal_xyz_field,我想在该模型Transaction中添加payment_paypal

ie:在应用Transaction中扩展paypal并添加字段paypal_xyz_field

将采取什么方法? 如果要扩展事务模型,则必须在管理员中同时显示paypalTransactionTransaction

在管理员中,我只想仅显示一个模型“ Transaction paypal_xyz_fieldpaymill_xyz_fieldstripe_xyz_field而不是paypalTransactionstripeTransaction等。

此外,要基于应用从数据库/管理员自动添加/删除字段

# payment/models.py
from django.db import models

class Payment(models.Model):
    base_field = models.CharField(max_length=64)

# paypal/models.py
from django.db import models
from payment.models import Payment

class Payment(Payment):
    paypal_specific_field = models.CharField(max_length=64)

# stripe/models.py
from django.db import models
from payment.models import Payment

class Payment(Payment):
    stripe_specific_field = models.CharField(max_length=64)

1 个答案:

答案 0 :(得分:-1)

在模型字段中添加可编辑属性,并将其设置为False。

from django.db import models

class Payment(models.Model):
    base_field = models.CharField(max_length=64)