![](/img/trans.png)
[英]How to make a readonly field that can not be edited by user in a Django forms?
[英]How can I make a field readonly after sending a Post Request in Django?
創建問題后,如何將 start_date 設為只讀? 我已經嘗試修改 admin.py 文件,但日期字段仍然是可編輯的,我不知道如何解決這個問題
這是問題模型
class Question(models.Model):
poll_question = models.CharField(max_length=255, blank=False)
title = models.CharField(max_length=255, blank=True)
start_date = models.DateTimeField('date published', blank=False,)
def __str__(self):
return self.poll_question
def choices(self):
if not hasattr(self, '_choices'):
self._choices = self.choice_set.all()
return self._choices
這是我在 admin.py 文件中添加的代碼,以便在創建后使 start_date 成為只讀,但仍然沒有變化。
class DateAdmin(admin.ModelAdmin):
def get_readonly_fields(self, request, obj=None):
if obj:
return self.readonly_fields + ('start_date')
else:
return []
要將管理模型字段設置為只讀,請使用readonly_fields屬性
@admin.register(Question)
class DateAdmin(admin.ModelAdmin):
# ...
readonly_fields = ['start_date']
# ...
注意:將字段設為只讀假設您可以在不使用管理界面的情況下進行設置。 您可以覆蓋Question
模型的save()
方法來做到這一點。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.