내가 동적으로 저장하고있어 정보 :모델의 열이 외래 키인지 확인하는 방법은 무엇입니까? 요청에 따라 데이터베이스에
// table, id and column are provided by the request
table_obj = getattr(models, table)
record = table_obj.objects.get(pk=id)
setattr(record, column, request.POST['value'])
문제는 request.POST는 [ '값'] 가끔 외국 레코드의 기본 키를 포함 (즉 정수) 장고가 기대하는 반면, 열의 값이 ForeignModel 유형의 객체가됩니다.
"ModelA.b"는 "ModelB"인스턴스 여야합니다.
이제 b가 외래 키를 포함하는 열인지 여부와이 키가 연결된 모델을 동적으로 확인하는 우아한 방법이 있습니까? 그래서 외래 레코드를 기본 키로하여 ModelA에 할당 할 수 있습니까? 아니면 장고가 이런 정보를 프로그래머에게 제공하지 않도록해야합니다. 그래서 정말 내 손을 더러워야하고 외래 거래에 대한 isinstance()를 사용해야합니다. 키 열?
'model' 입력이'field_object, model_direct, m2m = ...'할당에 의해 덮어 쓰이지 않을까요? – alvas
제 생각 엔, 다시는 사용하지 않았으므로 큰 문제는 아닙니다. –