나는 장고에 상당히 독특한 문제가 있습니다.양식의 변수 열/필드 이름이있는 고유 한 python/django 문제
큰 데이터를 편집하기위한 웹 사이트 사용자 인터페이스를 제공합니다. 이 데이터의 각 행은 데이터베이스의 행을 나타냅니다. 또는 특정 유형의 개체.
사용자가 테이블의 셀을 클릭하면이 필드/열 값을 편집 할 수있는 양식이 열립니다.
본질적으로 다음과 같이 작동합니다. 1) 사용자가 클릭 한 위치를 기반으로 쿼리가 서버 객체 ID 및 편집중인 필드로 전송됩니다. 이 정보 양식을 기반으로 2) 즉석에서 만들어집니다 필드가 변수가
class FieldEditorForm(forms.ModelForm):
class Meta:
model = MyObject
fields = ['id', field ]
사항은 필드의 이름을 수 없습니다.
3)이 필드는 자체 modelform 유효성 검사를 통과하며 모두 정상입니다. 저장 메소드 Model.save()는 값을 갱신하기에 충분합니다.
하지만 이제 문제가 생겼습니다. 때로는 빈 값이이 양식의 서버로 전송됩니다. u와 같은 empy 값 또는 거의 같은 emtpty. NULL로 데이터베이스에 저장 될 수 있도록 None으로 repace하고 싶습니다.
내가 할 수있는 곳이 두 곳 있습니다. 필드 유효성 검사에서 cleaned_data 또는 양식 저장 방법을 수정 중입니다.
가변 함수 이름을 만드는 방법을 모르는 두 가지 방법으로 고유 문제가 발생합니다. 방법
r.%(field)s = None
저장
def clean_%(field)s():
또는 양식의 경우 내가 필요하지만, 그 방법은 일을 해달라고 것입니다. 그래서 어떻게 변수 또는 뭔가 개체 변수를 매개 변수를 설정할 메서드 이름을 만들 수 있습니다. 그것은 가능합니까 아니면 내 접근 방식을 다시 생각해야합니까? 후자의 경우 앨런
가끔은 내 마음을 정리하는 방법으로 stackoverflow를 사용하는 것 같습니다. 나는 조금 후에 나 자신을 해결하기 위해서만 질문을 던졌다. 그러나 같은 시간 - 만약 내가 이것을하지 않았다면 나는 그것을 해결하지 못했을 것입니다 ... 어쨌든 아마 어쨌든. 내가 만든 것은 myobject입니다 .__ setattr __ (필드, 없음) –