Реверс для 'orderlist_order_change' с аргументами '('',)' не найден. Проверен 1 шаблон(ы): ['orderlist/order/(?P<object_id>.+)/change/\\\\Z'].
Мне нужна форма для вставки значения id при сохранении при использовании django admin,,Если я удалю 'save_model' и 'readonly_fields', заполнить ID вручную, программа работает нормально Я не настроил никаких урлов и шаблонов。
models.py
class Order(models.Model):
id = models.CharField(max_length=32,primary_key=True)#
customer = models.ForeignKey(Customer, on_delete=models.CASCADE)
...
admin.py
class OrderAdmin(admin.ModelAdmin):
readonly_fields = ['id']
def save_model(self, request, obj, form, change):
form.instance.oid = datetime.now().strftime("%Y%m%d%H%M%S") + str(random.randint(1000, 9999))
form.save()
super().save_model(request, obj, form, change)
error:
NoReverseMatch at /orderlist/order/add/
Reverse for 'orderlist_order_change' with arguments '('',)' not found. 1 pattern(s) tried: ['orderlist/order/(?P<object_id>.+)/change/\\Z']
Request Method: POST
Request URL: http://127.0.0.1:8057/orderlist/order/add/
Django Version: 3.2.10
Exception Type: NoReverseMatch
Exception Value:
Reverse for 'orderlist_order_change' with arguments '('',)' not found. 1 pattern(s) tried: ['orderlist/order/(?P<object_id>.+)/change/\\Z']
Exception Location: E:\CodeFiles\Venv\py378django3.2\lib\site-packages\django\urls\resolvers.py, line 698, in _reverse_with_prefix
Python Executable: E:\CodeFiles\Venv\py378django3.2\Scripts\python.exe
Python Version: 3.7.8