2014-09-29 2 views
0

나는 모델 (model.py)이 있습니다폐기 절약

class Group(models.Model): 
    system_id = models.ForeignKey(System) 
    group_id = models.CharField(max_length=40) 
    description = models.TextField() 
    title = models.CharField(max_length=250) 
    latintitle = models.CharField(max_length=250) 
    audio = models.CharField(max_length=250) 

을 그리고 난 많은 그룹으로 업로드 파일에 대한 사용자 정의 필드를 추가 한 후 (admin.py를) 구문 분석했습니다

class GroupModelForm(forms.ModelForm): 
    file = forms.FileField(required=False) 
    def save(self, commit=True): 
     file = self.cleaned_data['file'] 
     if file: 
      lines = file.readlines() 

     # ...do something with extra_field here... 
     return super(GroupModelForm, self).save(commit=commit) 
    class Meta: 
     model = Group 
     fields = ('file',) 

class GroupAdmin(admin.ModelAdmin): 
    list_display = ('id', 'title', 'group_id') 
    form = GroupModelForm 
    fieldsets = (
       ('New Group', { 
        'fields': ('system_id', 'group_id', 'title', 'latintitle', 'description', 'audio') 
        }), 
       ('Upload JSON file with groups info', { 
        'fields': ('file',) 
        }), 
       ) 

파일을 업로드 할 때 다른 입력란을 채워야한다고 나와 있습니다.
내 질문 : 어떻게 이러한 오류를 무시하고 다른 페이지로 파일 리디렉션 처리 후?

enter image description here

UPDATE : 나는 한 당신은 빈 수 있도록하기 위해 데이터베이스에 NULL을 허용 할 필요가 있기 때문에,뿐만 아니라 null=True 같은 필드를 설정해야합니다

+1

당신이'널 (null) = TRUE '뿐만 아니라 필드를 설정 했 :

blank=Truenull=True 그들이 어떻게 양식 및 필드와 상호 작용의 차이에 관한

, 여기에 아주 명확한 설명입니까? – Railslide

+0

@ Raillide 많은 데이터가있는 json을 업로드하려는 경우에만 필요했습니다. admin.py에서 필자는 필드에서 데이터의 유효성을 검사하기위한 저장 함수를 덮어 썼습니다. – SAKrisT

+0

@Railslide 당신이 옳았다! 필요한 대부분의 fileds 들어,하지만 ForeignKey에 대한 필요합니다. – SAKrisT

답변