Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/amazon-s3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Django枚举命名组_Django_Enums - Fatal编程技术网

Django枚举命名组

Django枚举命名组,django,enums,Django,Enums,我希望列表能够有一个特定的类别,因此卖家将选择一个普通类别,然后选择一个更具体的类别,例如: 男装: 牛仔裤: 瘦身 修身 正装 裤子: 修身 正式的 随便的 女装: 顶部: 束腰外衣 牛仔布: 牛仔裤 我尝试了django文档中的命名组: 媒体选择=[ (“音频”( (‘乙烯基’、‘乙烯基’), (‘cd’、‘cd’), ) ), (“视频”( (“vhs”、“vhs磁带”), (‘dvd’、‘dvd’), ) ), (‘未知’、‘未知’), ] 但当我尝试时

我希望列表能够有一个特定的类别,因此卖家将选择一个普通类别,然后选择一个更具体的类别,例如:

男装:

  • 牛仔裤:
    • 瘦身
    • 修身
    • 正装
  • 裤子:
    • 修身
    • 正式的
    • 随便的
女装:

  • 顶部:
    • 束腰外衣
  • 牛仔布:
    • 牛仔裤
我尝试了django文档中的命名组:

媒体选择=[ (“音频”( (‘乙烯基’、‘乙烯基’), (‘cd’、‘cd’), ) ), (“视频”( (“vhs”、“vhs磁带”), (‘dvd’、‘dvd’), ) ), (‘未知’、‘未知’), ]

但当我尝试时,它给出了错误

product.Listing.category: (fields.E005) 'choices' must be an iterable containing (actual value, human readable name) tuples.
这是我的密码:

class Listing(models.Model):
CATEGORY = [
  ('Women\'s Apparel', (
          ('Dresses', (
                  ('party_dresses', 'Party Dresses'),
              )
          ),
      ),
  ),
]

id = models.AutoField(primary_key=True)
title = models.CharField(max_length=255)
description = models.CharField(max_length=255)
new_condition = models.BooleanField()
category = models.CharField(choices=CATEGORY, max_length=255)
为什么会显示错误?是否因为枚举组的嵌套不能超过1级?
谢谢你

据我所知,你只能做“两个层次”的深度,所以没有三个层次。你将不得不做适当的数据建模,而且我不会把它放在enum中,因为商店商品类别肯定会发生变化