ValueError: Поле 'id' ожидало число, но получило 'undefined'. в python3

здесь, когда я открываю страницу редактирования элемента, я получаю эту проблему

Вот мой models.py

class Category(models.Model):
    category_name = models.CharField(max_length=20)
    client = models.ForeignKey("core.Client",on_delete=models.CASCADE)
    created_at = models.DateTimeField(auto_now_add=True)
    modified = models.DateTimeField(auto_now=True)
    is_deleted  = models.BooleanField(default=False,
                                      help_text="Deleted Category will not display in the UI.")

    class Meta:
        ordering = ['-category_name']

    def __str__(self):
        return self.category_name


class SubCategory(models.Model):
    category = models.ForeignKey(Category,on_delete=models.CASCADE)
    sub_category_name = models.CharField(max_length=20) 
    created_at = models.DateTimeField(auto_now_add=True)
    client = models.ForeignKey("core.Client",on_delete=models.CASCADE)
    modified = models.DateTimeField(auto_now=True)
    is_deleted  = models.BooleanField(default=False,
                                      help_text="Deleted SubCategory will not display in the UI.")


    class Meta:
        ordering = ['-sub_category_name']

    def __str__(self):
        return self.sub_category_name

вот мой скрипт, написанный в шаблоне

//category
$('#id_category').change(function() {
        var q = $('#id_category').val()
        if (q != ''){
$('#id_sub_category').show();
        $.ajax({
            url: '/admin/ajaxsubcategory/'+ q + '/',
            dataType: 'json',
            type: 'GET',
            // This is query string i.e. country_id=123
            //data: {role_type : $('#id_category').val()},

            success: function(data) {
                $('#id_sub_category').html('<option value="">Please Select</option>'); // clear the current elements in select box
                for (row in data) {
                        //alert(row);
                        $('#id_sub_category').append($('<option></option>').attr('value', row).text(data[row]));
                }
            },
            error: function(jqXHR, textStatus, errorThrown) {
                alert(errorThrown);
            }
        });

    }
     else{
            $.ajax({
            url: '/admin/ajaxsubcategory/'+ 0 + '/',
            dataType: 'json',
            type: 'GET',
            // This is query string i.e. country_id=123
            //data: {role_type : parseInt('all')},

            success: function(data) {
                 $('#id_sub_category').html('<option value="">Please Select</option>');// clear the current elements in select box
                for (row in data) {
                        //alert(row);
                        $('#id_sub_category').append($('<option></option>').attr('value', row).text(data[row]));
                }
            },
            error: function(jqXHR, textStatus, errorThrown) {
                alert(errorThrown);
            }
        });


        }
});

Вот мой urls.py

re_path(r'^admin/ajaxsubcategory/(?P<category_id>.*)/$',category_ajax_view),

Вот мой views.py

@login_required
def category_ajax_view(request, category_id):
    print("CATEGORY ID",category_id)     #output is CATEGORY ID undefined
    if category_id == '':
        role_name = SubCategory.objects.filter(category_id=category_id).\
            values_list('id', 'sub_category_name').\
            exclude(is_deleted=True).order_by('sub_category_name')
    else:
        
        role_name = SubCategory.objects.filter(category_id=category_id).\
            values_list('id', 'sub_category_name').\
            exclude(is_deleted=True).order_by('sub_category_name')
    return_dict = {}
    for item in role_name:
        return_dict[item[0]] = item[1]
    return HttpResponse(json.dumps(return_dict))

Вот трассировка моей ошибки

Traceback (most recent call last):
  File "/home/harika/lightdegree/lib/python3.7/site-packages/django/core/handlers/exception.py", line 34, in inner
    response = get_response(request)
  File "/home/harika/lightdegree/lib/python3.7/site-packages/django/core/handlers/base.py", line 115, in _get_response
    response = self.process_exception_by_middleware(e, request)
  File "/home/harika/lightdegree/lib/python3.7/site-packages/django/core/handlers/base.py", line 113, in _get_response
    response = wrapped_callback(request, *callback_args, **callback_kwargs)
  File "/home/harika/lightdegree/lib/python3.7/site-packages/django/contrib/auth/decorators.py", line 21, in _wrapped_view
    return view_func(request, *args, **kwargs)
  File "/home/harika/krishna test/dev-1.8/mcam/server/mcam/core/views.py", line 5473, in category_ajax_view
    role_name = SubCategory.objects.filter(category_id=category_id).\
  File "/home/harika/lightdegree/lib/python3.7/site-packages/django/db/models/manager.py", line 82, in manager_method
    return getattr(self.get_queryset(), name)(*args, **kwargs)
  File "/home/harika/lightdegree/lib/python3.7/site-packages/django/db/models/query.py", line 904, in filter
    return self._filter_or_exclude(False, *args, **kwargs)
  File "/home/harika/lightdegree/lib/python3.7/site-packages/django/db/models/query.py", line 923, in _filter_or_exclude
    clone.query.add_q(Q(*args, **kwargs))
  File "/home/harika/lightdegree/lib/python3.7/site-packages/django/db/models/sql/query.py", line 1337, in add_q
    clause, _ = self._add_q(q_object, self.used_aliases)
  File "/home/harika/lightdegree/lib/python3.7/site-packages/django/db/models/sql/query.py", line 1365, in _add_q
    split_subq=split_subq, simple_col=simple_col,
  File "/home/harika/lightdegree/lib/python3.7/site-packages/django/db/models/sql/query.py", line 1298, in build_filter
    condition = self.build_lookup(lookups, col, value)
  File "/home/harika/lightdegree/lib/python3.7/site-packages/django/db/models/sql/query.py", line 1155, in build_lookup
    lookup = lookup_class(lhs, rhs)
  File "/home/harika/lightdegree/lib/python3.7/site-packages/django/db/models/lookups.py", line 22, in __init__
    self.rhs = self.get_prep_lookup()
  File "/home/harika/lightdegree/lib/python3.7/site-packages/django/db/models/fields/related_lookups.py", line 115, in get_prep_lookup
    self.rhs = target_field.get_prep_value(self.rhs)
  File "/home/harika/lightdegree/lib/python3.7/site-packages/django/db/models/fields/__init__.py", line 1772, in get_prep_value
    ) from e
ValueError: Field 'id' expected a number but got 'undefined'.

Здесь я не могу понять, почему я получаю значение категории как 'undefined'

Я обновил свой проект Django 1.8 до Django 3.0 и python2.7 до python 3.7

Я получаю эту ошибку, как только открываю страницу редактирования

Вернуться на верх