簡體   English   中英

對象沒有屬性“ get_notification_display”

[英]object has no attribute 'get_notification_display'

我正在嘗試顯示人類可讀的choicefield標簽。

def reminder(request, pk=None):
    reminder = get_object_or_404(Reminder, pk=pk)
    print(reminder.id)  # printing correct value
    print(reminder.get_notification_display())
    return render(request, 'reminder.html', {'reminder': reminder, 'title': 'Reminder'})

但是它拋出了這個錯誤:

AttributeError: 'Reminder' object has no attribute 'get_notification_display'

這是模型:

class Reminder(models.Model):
    provider_type = (
        ('Em', 'Email'),
        ('Sm', 'SMS'),
        ('De', 'Desktop'),
        ('Mo', 'Mobile'),
    )
    notification = ArrayField(models.CharField(choices=provider_type, max_length=2, default='Em'))

這是get_FOO_display上的文檔-我缺少什么?

文件

對於每個設置了選項的字段,該對象將具有get_FOO_display()方法

但您沒有為notification設置任何選擇 換句話說,您需要一個NOTIFICATION_CHOICES迭代器,該迭代器在您的課程中最多包含兩個迭代器。

 notification = models.CharField(choices=provider_type, max_length=2, default='Em')

刪除arrayfield,因為它不允許您創建和迭代一個

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM