2010-02-02 9 views
1

내 시스템에 대한 사용자 정의 백엔드를 만들려고 노력 중이며 약간의 걸림돌을 맞았습니다 .... 사용자에게 새로운/모델/시리즈가 아닌 새로운 기능을 추가하고 싶습니다. 양식을 통해 시스템에 이미 있습니다.사용자 정의 Django 양식

class Manufacturer(models.Model): 
    MANUFACTURER_POPULARITY_CHOICES = (
    ('1', 'Primary'), 
    ('2', 'Secondary'), 
    ('3', 'Tertiary'), 
) 

    manufacturer = models.CharField(max_length=15, blank=False) 
    date_added = models.DateField() 
    manufacturer_popularity = models.CharField(max_length=1, 
     choices=MANUFACTURER_POPULARITY_CHOICES) 
    def __unicode__(self): 
    return self.manufacturer 

class Model(models.Model): 
    model = models.CharField(max_length=20, blank=False) 
    manufacturer = models.ForeignKey(Manufacturer) 
    date_added = models.DateField() 
    def __unicode__(self): 
    name = ''+str(self.manufacturer)+" "+str(self.model) 
    return name 

class Series(models.Model): 
    series = models.CharField(max_length=20, blank=True, null=True) 
    model = models.ForeignKey(Model) 
    date_added = models.DateField() 
    def __unicode__(self): 
    name = str(self.model)+" "+str(self.series) 
    return name 

class Engine(models.Model): 
    ENGINE_TYPE_CHOICES = (
    ('H', 'H'), 
    ('I', 'I'), 
    ('R', 'R'), 
    ('V', 'V'), 
    ('W', 'W'), 
) 

    FUEL_TYPE_CHOICES = (
    ('G', 'Gas'), 
    ('D', 'Diesel'), 
) 

    size = models.DecimalField(max_digits=2, decimal_places=1) 
    type = models.CharField(max_length=1, choices=ENGINE_TYPE_CHOICES) 
    cylinders = models.PositiveSmallIntegerField() 
    spec = models.CharField(max_length=20, blank=True, null=True) 
    fuel_type = models.CharField(max_length=1, choices=FUEL_TYPE_CHOICES) 

class CommonVehicle(models.Model): 
    year = models.ForeignKey(Year) 
    series = models.ForeignKey(Series) 
    engine = models.ForeignKey(Engine) 
    body_style = models.ForeignKey(BodyStyle) 
    transmission = models.ForeignKey(Transmission) 
    speeds = models.PositiveSmallIntegerField() 
    drive_train = models.ForeignKey(DriveTrain) 
    horse_power = models.PositiveSmallIntegerField() 
    litre_100km_city = models.DecimalField(max_digits=3, decimal_places=1) 
    litre_100km_hwy = models.DecimalField(max_digits=3, decimal_places=1) 
    def __unicode__(self): 
    name = ''+str(self.year)+" "+str(self.series) 
    return name 

답변

2

이 장고 모델 양식 상당히 표준 작업 것으로 보인다 : 내 모델은 다음과 같이 보면 ... 나는 이것에 대해 갈거야 궁금 해요. http://docs.djangoproject.com/en/dev/topics/forms/modelforms/에있는 설명서를 따르는 것이 좋습니다. 모델에서 양식을 작성한 다음 리턴 된 제출을 데이터베이스에 저장하는 방법에 대한 자세한 지시 사항이 있습니다.

+0

나는이 문제를 해결할 방법이 있다고 생각합니다 ... 저는 이미 모델 형식에 상당히 정통합니다. 감사합니다. – Stephen

+0

흠, 당신이 제기 한 질문에서 당신이 걱정했던 더 깊은 문제가 있는지 궁금합니다. 너무 지능적이고 자세하게 "문서를 따른다"는 말로 쉽게 대답 할 수있는 질문처럼 보였습니다. 그렇지만 비교적 형식화 된 데이터와 모델 양식에 적합한 모델을 가지고있는 것으로 보입니다. – Clueless

관련 문제