from django.db import models


class Tract(models.Model):

    state = models.CharField(max_length=2)
    county = models.CharField(max_length=3)
    tract = models.CharField(max_length=12)

    B01001_001E = models.DecimalField(max_digits=12, decimal_places=2, blank=True, null=True)
    B01001_002E = models.DecimalField(max_digits=12, decimal_places=2, blank=True, null=True)
    B01001_003E = models.DecimalField(max_digits=12, decimal_places=2, blank=True, null=True)
    B01001_004E = models.DecimalField(max_digits=12, decimal_places=2, blank=True, null=True)
    B01001_005E = models.DecimalField(max_digits=12, decimal_places=2, blank=True, null=True)
    B01001_006E = models.DecimalField(max_digits=12, decimal_places=2, blank=True, null=True)
    B01001_007E = models.DecimalField(max_digits=12, decimal_places=2, blank=True, null=True)
    B01001_008E = models.DecimalField(max_digits=12, decimal_places=2, blank=True, null=True)
    B01001_009E = models.DecimalField(max_digits=12, decimal_places=2, blank=True, null=True)
    B01001_010E = models.DecimalField(max_digits=12, decimal_places=2, blank=True, null=True)
    B01001_011E = models.DecimalField(max_digits=12, decimal_places=2, blank=True, null=True)
    B01001_012E = models.DecimalField(max_digits=12, decimal_places=2, blank=True, null=True)
    B01001_013E = models.DecimalField(max_digits=12, decimal_places=2, blank=True, null=True)
    B01001_014E = models.DecimalField(max_digits=12, decimal_places=2, blank=True, null=True)
    B01001_015E = models.DecimalField(max_digits=12, decimal_places=2, blank=True, null=True)
    B01001_016E = models.DecimalField(max_digits=12, decimal_places=2, blank=True, null=True)
    B01001_017E = models.DecimalField(max_digits=12, decimal_places=2, blank=True, null=True)
    B01001_018E = models.DecimalField(max_digits=12, decimal_places=2, blank=True, null=True)
    B01001_019E = models.DecimalField(max_digits=12, decimal_places=2, blank=True, null=True)
    B01001_020E = models.DecimalField(max_digits=12, decimal_places=2, blank=True, null=True)
    B01001_021E = models.DecimalField(max_digits=12, decimal_places=2, blank=True, null=True)
    B01001_022E = models.DecimalField(max_digits=12, decimal_places=2, blank=True, null=True)
    B01001_023E = models.DecimalField(max_digits=12, decimal_places=2, blank=True, null=True)
    B01001_024E = models.DecimalField(max_digits=12, decimal_places=2, blank=True, null=True)
    B01001_025E = models.DecimalField(max_digits=12, decimal_places=2, blank=True, null=True)
    B01001_026E = models.DecimalField(max_digits=12, decimal_places=2, blank=True, null=True)
    B01001_027E = models.DecimalField(max_digits=12, decimal_places=2, blank=True, null=True)
    B01001_028E = models.DecimalField(max_digits=12, decimal_places=2, blank=True, null=True)
    B01001_029E = models.DecimalField(max_digits=12, decimal_places=2, blank=True, null=True)
    B01001_030E = models.DecimalField(max_digits=12, decimal_places=2, blank=True, null=True)
    B01001_031E = models.DecimalField(max_digits=12, decimal_places=2, blank=True, null=True)
    B01001_032E = models.DecimalField(max_digits=12, decimal_places=2, blank=True, null=True)
    B01001_033E = models.DecimalField(max_digits=12, decimal_places=2, blank=True, null=True)
    B01001_034E = models.DecimalField(max_digits=12, decimal_places=2, blank=True, null=True)
    B01001_035E = models.DecimalField(max_digits=12, decimal_places=2, blank=True, null=True)
    B01001_036E = models.DecimalField(max_digits=12, decimal_places=2, blank=True, null=True)
    B01001_037E = models.DecimalField(max_digits=12, decimal_places=2, blank=True, null=True)
    B01001_038E = models.DecimalField(max_digits=12, decimal_places=2, blank=True, null=True)
    B01001_039E = models.DecimalField(max_digits=12, decimal_places=2, blank=True, null=True)
    B01001_040E = models.DecimalField(max_digits=12, decimal_places=2, blank=True, null=True)
    B01001_041E = models.DecimalField(max_digits=12, decimal_places=2, blank=True, null=True)
    B01001_042E = models.DecimalField(max_digits=12, decimal_places=2, blank=True, null=True)
    B01001_043E = models.DecimalField(max_digits=12, decimal_places=2, blank=True, null=True)
    B01001_044E = models.DecimalField(max_digits=12, decimal_places=2, blank=True, null=True)
    B01001_045E = models.DecimalField(max_digits=12, decimal_places=2, blank=True, null=True)
    B01001_046E = models.DecimalField(max_digits=12, decimal_places=2, blank=True, null=True)
    B01001_047E = models.DecimalField(max_digits=12, decimal_places=2, blank=True, null=True)
    B01001_048E = models.DecimalField(max_digits=12, decimal_places=2, blank=True, null=True)
    B01001_049E = models.DecimalField(max_digits=12, decimal_places=2, blank=True, null=True)
    B01002_001E = models.DecimalField(max_digits=12, decimal_places=2, blank=True, null=True)
    B01003_001E = models.DecimalField(max_digits=12, decimal_places=2, blank=True, null=True)
    B04003_001E = models.DecimalField(max_digits=12, decimal_places=2, blank=True, null=True)
    B04003_002E = models.DecimalField(max_digits=12, decimal_places=2, blank=True, null=True)
    B04003_003E = models.DecimalField(max_digits=12, decimal_places=2, blank=True, null=True)
    B04003_004E = models.DecimalField(max_digits=12, decimal_places=2, blank=True, null=True)
    B04003_005E = models.DecimalField(max_digits=12, decimal_places=2, blank=True, null=True)
    B04003_006E = models.DecimalField(max_digits=12, decimal_places=2, blank=True, null=True)
    B04003_007E = models.DecimalField(max_digits=12, decimal_places=2, blank=True, null=True)
    B04003_008E = models.DecimalField(max_digits=12, decimal_places=2, blank=True, null=True)
    B04003_009E = models.DecimalField(max_digits=12, decimal_places=2, blank=True, null=True)
    B04003_010E = models.DecimalField(max_digits=12, decimal_places=2, blank=True, null=True)
    B04003_011E = models.DecimalField(max_digits=12, decimal_places=2, blank=True, null=True)
    B04003_012E = models.DecimalField(max_digits=12, decimal_places=2, blank=True, null=True)
    B04003_013E = models.DecimalField(max_digits=12, decimal_places=2, blank=True, null=True)
    B04003_014E = models.DecimalField(max_digits=12, decimal_places=2, blank=True, null=True)
    B04003_015E = models.DecimalField(max_digits=12, decimal_places=2, blank=True, null=True)
    B04003_016E = models.DecimalField(max_digits=12, decimal_places=2, blank=True, null=True)
    B04003_017E = models.DecimalField(max_digits=12, decimal_places=2, blank=True, null=True)
    B04003_018E = models.DecimalField(max_digits=12, decimal_places=2, blank=True, null=True)
    B04003_019E = models.DecimalField(max_digits=12, decimal_places=2, blank=True, null=True)
    B04003_020E = models.DecimalField(max_digits=12, decimal_places=2, blank=True, null=True)
    B04003_021E = models.DecimalField(max_digits=12, decimal_places=2, blank=True, null=True)
    B04003_022E = models.DecimalField(max_digits=12, decimal_places=2, blank=True, null=True)
    B04003_023E = models.DecimalField(max_digits=12, decimal_places=2, blank=True, null=True)
    B04003_024E = models.DecimalField(max_digits=12, decimal_places=2, blank=True, null=True)
    B04003_025E = models.DecimalField(max_digits=12, decimal_places=2, blank=True, null=True)
    B04003_026E = models.DecimalField(max_digits=12, decimal_places=2, blank=True, null=True)
    B04003_027E = models.DecimalField(max_digits=12, decimal_places=2, blank=True, null=True)
    B04003_028E = models.DecimalField(max_digits=12, decimal_places=2, blank=True, null=True)
    B04003_029E = models.DecimalField(max_digits=12, decimal_places=2, blank=True, null=True)
    B04003_030E = models.DecimalField(max_digits=12, decimal_places=2, blank=True, null=True)
    B04003_031E = models.DecimalField(max_digits=12, decimal_places=2, blank=True, null=True)
    B04003_032E = models.DecimalField(max_digits=12, decimal_places=2, blank=True, null=True)
    B04003_033E = models.DecimalField(max_digits=12, decimal_places=2, blank=True, null=True)
    B04003_034E = models.DecimalField(max_digits=12, decimal_places=2, blank=True, null=True)
    B04003_035E = models.DecimalField(max_digits=12, decimal_places=2, blank=True, null=True)
    B04003_036E = models.DecimalField(max_digits=12, decimal_places=2, blank=True, null=True)
    B04003_037E = models.DecimalField(max_digits=12, decimal_places=2, blank=True, null=True)
    B04003_038E = models.DecimalField(max_digits=12, decimal_places=2, blank=True, null=True)
    B04003_039E = models.DecimalField(max_digits=12, decimal_places=2, blank=True, null=True)
    B04003_040E = models.DecimalField(max_digits=12, decimal_places=2, blank=True, null=True)
    B04003_041E = models.DecimalField(max_digits=12, decimal_places=2, blank=True, null=True)
    B04003_042E = models.DecimalField(max_digits=12, decimal_places=2, blank=True, null=True)
    B04003_043E = models.DecimalField(max_digits=12, decimal_places=2, blank=True, null=True)
    B04003_044E = models.DecimalField(max_digits=12, decimal_places=2, blank=True, null=True)
    B04003_045E = models.DecimalField(max_digits=12, decimal_places=2, blank=True, null=True)
    B04003_046E = models.DecimalField(max_digits=12, decimal_places=2, blank=True, null=True)
    B04003_047E = models.DecimalField(max_digits=12, decimal_places=2, blank=True, null=True)
    B04003_048E = models.DecimalField(max_digits=12, decimal_places=2, blank=True, null=True)
    B04003_049E = models.DecimalField(max_digits=12, decimal_places=2, blank=True, null=True)
    B04003_050E = models.DecimalField(max_digits=12, decimal_places=2, blank=True, null=True)
    B04003_051E = models.DecimalField(max_digits=12, decimal_places=2, blank=True, null=True)
    B04003_052E = models.DecimalField(max_digits=12, decimal_places=2, blank=True, null=True)
    B04003_053E = models.DecimalField(max_digits=12, decimal_places=2, blank=True, null=True)
    B04003_054E = models.DecimalField(max_digits=12, decimal_places=2, blank=True, null=True)
    B04003_055E = models.DecimalField(max_digits=12, decimal_places=2, blank=True, null=True)
    B04003_056E = models.DecimalField(max_digits=12, decimal_places=2, blank=True, null=True)
    B04003_057E = models.DecimalField(max_digits=12, decimal_places=2, blank=True, null=True)
    B04003_058E = models.DecimalField(max_digits=12, decimal_places=2, blank=True, null=True)
    B04003_059E = models.DecimalField(max_digits=12, decimal_places=2, blank=True, null=True)
    B04003_060E = models.DecimalField(max_digits=12, decimal_places=2, blank=True, null=True)
    B04003_061E = models.DecimalField(max_digits=12, decimal_places=2, blank=True, null=True)
    B04003_062E = models.DecimalField(max_digits=12, decimal_places=2, blank=True, null=True)
    B04003_063E = models.DecimalField(max_digits=12, decimal_places=2, blank=True, null=True)
    B04003_064E = models.DecimalField(max_digits=12, decimal_places=2, blank=True, null=True)
    B04003_065E = models.DecimalField(max_digits=12, decimal_places=2, blank=True, null=True)
    B04003_066E = models.DecimalField(max_digits=12, decimal_places=2, blank=True, null=True)
    B04003_067E = models.DecimalField(max_digits=12, decimal_places=2, blank=True, null=True)
    B04003_068E = models.DecimalField(max_digits=12, decimal_places=2, blank=True, null=True)
    B04003_069E = models.DecimalField(max_digits=12, decimal_places=2, blank=True, null=True)
    B04003_070E = models.DecimalField(max_digits=12, decimal_places=2, blank=True, null=True)
    B04003_071E = models.DecimalField(max_digits=12, decimal_places=2, blank=True, null=True)
    B04003_072E = models.DecimalField(max_digits=12, decimal_places=2, blank=True, null=True)
    B04003_073E = models.DecimalField(max_digits=12, decimal_places=2, blank=True, null=True)
    B04003_074E = models.DecimalField(max_digits=12, decimal_places=2, blank=True, null=True)
    B04003_075E = models.DecimalField(max_digits=12, decimal_places=2, blank=True, null=True)
    B04003_076E = models.DecimalField(max_digits=12, decimal_places=2, blank=True, null=True)
    B04003_077E = models.DecimalField(max_digits=12, decimal_places=2, blank=True, null=True)
    B04003_078E = models.DecimalField(max_digits=12, decimal_places=2, blank=True, null=True)
    B04003_079E = models.DecimalField(max_digits=12, decimal_places=2, blank=True, null=True)
    B04003_080E = models.DecimalField(max_digits=12, decimal_places=2, blank=True, null=True)
    B04003_081E = models.DecimalField(max_digits=12, decimal_places=2, blank=True, null=True)
    B04003_082E = models.DecimalField(max_digits=12, decimal_places=2, blank=True, null=True)
    B04003_083E = models.DecimalField(max_digits=12, decimal_places=2, blank=True, null=True)
    B04003_084E = models.DecimalField(max_digits=12, decimal_places=2, blank=True, null=True)
    B04003_085E = models.DecimalField(max_digits=12, decimal_places=2, blank=True, null=True)
    B04003_086E = models.DecimalField(max_digits=12, decimal_places=2, blank=True, null=True)
    B04003_087E = models.DecimalField(max_digits=12, decimal_places=2, blank=True, null=True)
    B04003_088E = models.DecimalField(max_digits=12, decimal_places=2, blank=True, null=True)
    B04003_089E = models.DecimalField(max_digits=12, decimal_places=2, blank=True, null=True)
    B04003_090E = models.DecimalField(max_digits=12, decimal_places=2, blank=True, null=True)
    B04003_091E = models.DecimalField(max_digits=12, decimal_places=2, blank=True, null=True)
    B04003_092E = models.DecimalField(max_digits=12, decimal_places=2, blank=True, null=True)
    B04003_093E = models.DecimalField(max_digits=12, decimal_places=2, blank=True, null=True)
    B04003_094E = models.DecimalField(max_digits=12, decimal_places=2, blank=True, null=True)
    B04003_095E = models.DecimalField(max_digits=12, decimal_places=2, blank=True, null=True)
    B04003_096E = models.DecimalField(max_digits=12, decimal_places=2, blank=True, null=True)
    B04003_097E = models.DecimalField(max_digits=12, decimal_places=2, blank=True, null=True)
    B04003_098E = models.DecimalField(max_digits=12, decimal_places=2, blank=True, null=True)
    B04003_099E = models.DecimalField(max_digits=12, decimal_places=2, blank=True, null=True)
    B04003_100E = models.DecimalField(max_digits=12, decimal_places=2, blank=True, null=True)
    B04003_101E = models.DecimalField(max_digits=12, decimal_places=2, blank=True, null=True)
    B04003_102E = models.DecimalField(max_digits=12, decimal_places=2, blank=True, null=True)
    B04003_103E = models.DecimalField(max_digits=12, decimal_places=2, blank=True, null=True)
    B04003_104E = models.DecimalField(max_digits=12, decimal_places=2, blank=True, null=True)
    B04003_105E = models.DecimalField(max_digits=12, decimal_places=2, blank=True, null=True)
    B04003_106E = models.DecimalField(max_digits=12, decimal_places=2, blank=True, null=True)
    B04003_107E = models.DecimalField(max_digits=12, decimal_places=2, blank=True, null=True)
    B04003_108E = models.DecimalField(max_digits=12, decimal_places=2, blank=True, null=True)
    B11005_001E = models.DecimalField(max_digits=12, decimal_places=2, blank=True, null=True)
    B11005_002E = models.DecimalField(max_digits=12, decimal_places=2, blank=True, null=True)
    B19001_001E = models.DecimalField(max_digits=12, decimal_places=2, blank=True, null=True)
    B19001_002E = models.DecimalField(max_digits=12, decimal_places=2, blank=True, null=True)
    B19001_003E = models.DecimalField(max_digits=12, decimal_places=2, blank=True, null=True)
    B19001_004E = models.DecimalField(max_digits=12, decimal_places=2, blank=True, null=True)
    B19001_005E = models.DecimalField(max_digits=12, decimal_places=2, blank=True, null=True)
    B19001_006E = models.DecimalField(max_digits=12, decimal_places=2, blank=True, null=True)
    B19001_007E = models.DecimalField(max_digits=12, decimal_places=2, blank=True, null=True)
    B19001_008E = models.DecimalField(max_digits=12, decimal_places=2, blank=True, null=True)
    B19001_009E = models.DecimalField(max_digits=12, decimal_places=2, blank=True, null=True)
    B19001_010E = models.DecimalField(max_digits=12, decimal_places=2, blank=True, null=True)
    B19001_011E = models.DecimalField(max_digits=12, decimal_places=2, blank=True, null=True)
    B19001_012E = models.DecimalField(max_digits=12, decimal_places=2, blank=True, null=True)
    B19001_013E = models.DecimalField(max_digits=12, decimal_places=2, blank=True, null=True)
    B19001_014E = models.DecimalField(max_digits=12, decimal_places=2, blank=True, null=True)
    B19001_015E = models.DecimalField(max_digits=12, decimal_places=2, blank=True, null=True)
    B19001_016E = models.DecimalField(max_digits=12, decimal_places=2, blank=True, null=True)
    B19001_017E = models.DecimalField(max_digits=12, decimal_places=2, blank=True, null=True)
    B19013_001E = models.DecimalField(max_digits=12, decimal_places=2, blank=True, null=True)

    # new as of 2012-12-03

    B25058_001E = models.DecimalField(max_digits=12, decimal_places=2, blank=True, null=True)
    B25064_001E = models.DecimalField(max_digits=12, decimal_places=2, blank=True, null=True)
    B25077_001E = models.DecimalField(max_digits=12, decimal_places=2, blank=True, null=True)
    B25003_001E = models.DecimalField(max_digits=12, decimal_places=2, blank=True, null=True)
    B25003_002E = models.DecimalField(max_digits=12, decimal_places=2, blank=True, null=True)
    B25003_003E = models.DecimalField(max_digits=12, decimal_places=2, blank=True, null=True)

    # new as of 2012-12-05

    B08301_001E = models.DecimalField(max_digits=12, decimal_places=2, blank=True, null=True)
    B08301_002E = models.DecimalField(max_digits=12, decimal_places=2, blank=True, null=True)
    B08301_003E = models.DecimalField(max_digits=12, decimal_places=2, blank=True, null=True)
    B08301_004E = models.DecimalField(max_digits=12, decimal_places=2, blank=True, null=True)
    B08301_005E = models.DecimalField(max_digits=12, decimal_places=2, blank=True, null=True)
    B08301_006E = models.DecimalField(max_digits=12, decimal_places=2, blank=True, null=True)
    B08301_007E = models.DecimalField(max_digits=12, decimal_places=2, blank=True, null=True)
    B08301_008E = models.DecimalField(max_digits=12, decimal_places=2, blank=True, null=True)
    B08301_009E = models.DecimalField(max_digits=12, decimal_places=2, blank=True, null=True)
    B08301_010E = models.DecimalField(max_digits=12, decimal_places=2, blank=True, null=True)
    B08301_011E = models.DecimalField(max_digits=12, decimal_places=2, blank=True, null=True)
    B08301_012E = models.DecimalField(max_digits=12, decimal_places=2, blank=True, null=True)
    B08301_013E = models.DecimalField(max_digits=12, decimal_places=2, blank=True, null=True)
    B08301_014E = models.DecimalField(max_digits=12, decimal_places=2, blank=True, null=True)
    B08301_015E = models.DecimalField(max_digits=12, decimal_places=2, blank=True, null=True)
    B08301_016E = models.DecimalField(max_digits=12, decimal_places=2, blank=True, null=True)
    B08301_017E = models.DecimalField(max_digits=12, decimal_places=2, blank=True, null=True)
    B08301_018E = models.DecimalField(max_digits=12, decimal_places=2, blank=True, null=True)
    B08301_019E = models.DecimalField(max_digits=12, decimal_places=2, blank=True, null=True)
    B08301_020E = models.DecimalField(max_digits=12, decimal_places=2, blank=True, null=True)
    B08301_021E = models.DecimalField(max_digits=12, decimal_places=2, blank=True, null=True)

    # new as of 2012-12-11

    B25035_001E = models.DecimalField(max_digits=12, decimal_places=2, blank=True, null=True)

    class Meta:
        ordering = ('state', 'county', 'tract')

    def __unicode__(self):
        return u"%s:%s:%s" % (self.state, self.county, self.tract)
