亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Django 管理中的自定義 M2M 驗證未向用戶顯示

Django 管理中的自定義 M2M 驗證未向用戶顯示

RISEBY 2023-05-16 14:26:45
我有一個模型,我需要在其中驗證 m2m 字段和常規字段是否互斥。(即您只能擁有其中之一,而不能同時擁有兩者。)class EventFrequency(models.Model):    weekdays = models.CharField(...)    dates = models.ManyToManyField(...)由于一個是 m2m,覆蓋模型save()不起作用。(保存模型,然后添加m2m)我能夠通過覆蓋在管理類中成功拋出錯誤save_related(),但它不會顯示在管理表單中。這只是一個常規的服務器錯誤。class EventFrequencyAdmin(VersionAdmin, admin.ModelAdmin):    model = EventFrequency    filter_horizontal = ('dates',)    def save_related(self, request, form, formsets, change):        super(EventFrequencyAdmin, self).save_related(request, form, formsets, change)        if form.instance.dates.exists() and form.instance.weekdays:            raise ValidationError('Cannot select both dates and weekdays.')我能夠捕獲錯誤以嘗試通過重寫將其顯示給用戶changeform_view()。除了重定向之外,它似乎運行良好。form_url沒有價值,因此是''。def changeform_view(self, request, object_id=None, form_url='', extra_context=None):        try:            return super(EventFrequencyAdmin, self).changeform_view(request, object_id, form_url, extra_context)        except ValidationError as e:            print('************* caught error *************')            self.message_user(request, e, level=messages.ERROR)            return HttpResponseRedirect(form_url)我究竟做錯了什么?
查看完整描述

目前暫無任何回答

  • 0 回答
  • 0 關注
  • 137 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號