Как полностью скрыть определенное поле формы для пользователей в django
Я хочу полностью скрыть поля в форме, сейчас скрыто только поле, но имя поля остается. Я не хочу, чтобы имя или что-либо еще показывало поле. посмотрите на мой код.
class RechargeDataForm (forms.ModelForm):
def __init__(self, *args, **kwargs):
from django.forms.widgets import HiddenInput
hide_condition = kwargs.pop('hide_condition',None)
super(RechargeDataForm, self).__init__(*args, **kwargs)
if hide_condition:
self.fields['idnetwork'].widget = HiddenInput()
self.fields['idplan'].widget = HiddenInput()
# or alternately: del self.fields['fieldname'] to remove it from the form altogether.
class Meta:
model = RechargeData
fields = '__all__'
exclude = ('user', 'user', 'type', )
this code below brought the same outcome too- the field disappears why field name remains
#widgets = {
# 'idplan': forms.TextInput(attrs={'type': 'hidden'}),
#}
файл models.py.
class RechargeData(models.Model, Main):
networks = models.ForeignKey(Networks, default=1,on_delete=models.CASCADE, verbose_name="networks")
circle = ChainedForeignKey(
"Circle",
chained_field="networks",
chained_model_field="networks",
show_all=False,
auto_choose=True,
sort=True
)
plans = ChainedForeignKey(
"Plans",
chained_field="circle",
chained_model_field="circle",
show_all=False,
auto_choose=True,
)
user = models.ForeignKey(User, default=1,on_delete=models.CASCADE)
mobile_number = models.CharField( max_length=11, blank=True, null=False) # validators should be a list
timestamp = models.DateTimeField(auto_now=False, auto_now_add=True)
idnetwork = ChainedForeignKey(
"IdNetwork",
chained_field="networks",
chained_model_field="networks",
show_all=False,
auto_choose=True,
sort=True
)
idplan = ChainedForeignKey(
"IdPlan",
chained_field="circle",
chained_model_field="circle",
show_all=False,
auto_choose=True,
sort=True
)
Я хочу, чтобы поле удалялось навсегда, не влияя на валидацию формы. Что-то вроде этого отказалось работать del self.fields['fieldname']
как я могу полностью удалить поле из формы?
