Djano - 创建多选美国州立场的好方法

时间:2018-04-20 23:17:51

标签: django class many-to-many

我正在寻找创建一个多选的美国州立场。

一种方法是创建一个Model,然后在另一个Model上使用ManyToManyField。请参阅下面的示例:

class States(models.Model):
   ALABAMA= 1
   ALABAMA= 2
   ARIZONA= 3
   GEO_CHOICES = (
       (ALABAMA, 'alabama'),
       (ALABAMA, 'alaska'),
       (ARIZONA, 'arizona'),
   )

   id = models.PositiveSmallIntegerField(choices=GEO_CHOICES, primary_key=True)

   def __str__(self):
     return self.get_id_display()

class Profile(models.Model):
    user ...
    state = models.ManyToManyField(States)

问题1: 有没有办法在下面的代码中包含2位短代码?

问题2: 是否有默认状态列表?邮政编码怎么样我们的州县?

1 个答案:

答案 0 :(得分:1)

关于你的第一个问题:

  

我可以在下面的代码中包含2位短代码吗?

就像你在评论中已经说过的那样:你应该创建一个模型State,其中包含代码和缩写等所有信息。

但是看看我下面链接的软件包,也许它们对你的任务有帮助。

至于你的第二个问题:

  

是否有默认状态列表?邮政编码怎么样我们的州县?

您可以查看:

  1. 官方django-localflavor回购。
  2. 这个6岁的回购django-localflavor-us非常类似于我之前提到的那个。