保存在 django 中后,对象的 id 为 None

Atm*_*tma 5 django django-models django-orm django-inheritance multi-table-inheritance

我正在循环遍历对象列表并保存。我需要保存后新生成的 id 或指针 id,但它是 None。

这是我的代码:

for category in category_list:
      saved_category = category.save()
      print saved_category.parentCategory_ptr_id      
      print saved_category.id
Run Code Online (Sandbox Code Playgroud)

这会在例程运行后保存我的对象,但同样不会在这一行给我 id。

这是我的模型:

class ParentCategory(models.Model):
    name = models.CharField(max_length=255)

class Category(ParentCategory):
    description = models.CharField(max_length=255)
Run Code Online (Sandbox Code Playgroud)

类别列表的创建方式如下:

category_list = []
    for row in value_list:
        category = Category(description=row.description)
        category_list.append(category)


 return category_list
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?

Atm*_*tma 1

问题在于:

saved_category = category.save()
Run Code Online (Sandbox Code Playgroud)

它需要是:

category = category.save()
Run Code Online (Sandbox Code Playgroud)

列表中原来保存的对象是包含该id的对象。