邮政编码模型字段在管理员中显示为状态列表

Ker*_*her 5 django postal-code django-contrib

不确定,但我认为这可能是一个错误?

这是我的模型:

class Property(models.Model):
Name = models.CharField(max_length=40)
Description = models.TextField(default="Description Not Available")
Address = models.CharField(max_length=60, default="Not Available")
Address2 = models.CharField(max_length=60,null=True)
City = models.CharField(max_length=60, null=True)
State = usa_model.USStateField(null=True)
Code = usa_model.USPostalCodeField(null=True)
Phone = usa_model.PhoneNumberField(null=True)
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

我错过了什么吗?

-Kerry

Yuj*_*ita 4

也许您正在寻找美国邮政编码表格字段?

使用USPostalCodeField状态列表+一些额外的内容:

COFA_STATES = (
    ('FM', 'Federated States of Micronesia'),
    ('MH', 'Marshall Islands'),
    ('PW', 'Palau'),
)
Run Code Online (Sandbox Code Playgroud)

django.contrib.localflavor.us.us_states

# USStateField
STATE_CHOICES = tuple(sorted(US_STATES + US_TERRITORIES + ARMED_FORCES_STATES, key=lambda obj: obj[1]))

# USPostalCodeField
USPS_CHOICES = tuple(sorted(US_STATES + US_TERRITORIES + ARMED_FORCES_STATES + COFA_STATES, key=lambda obj: obj[1]))
Run Code Online (Sandbox Code Playgroud)

  • `CharField`,因为验证接受 XXXX-XXXX。对于管理员来说,只需指定一个包含一个字段的 ModelForm:`Code = ...USZipCodeField` 并用您的 ModelForm 覆盖 `ModelAdmin.form` - 应该类似于 6 行代码:) (3认同)