외래 키를 사용하여 관련 테이블의 기본 키 ("레거시 스키마")를 "가리 키지"않는 외래 키를 사용할 때 ModelForm을 저장하는 데 문제가 있습니다 to_field = 내 Foregin 키가 정확하게 키가 아닌 키와 관련 될 수 있도록합니다. 기본 렌더링에 2 분이 걸리기 때문에 내 ModelForm 외래 키는 HiddenInput()의 쿼리 세트와 위젯과 함께 ModelChoiceField를 사용합니다. 쿼리 세트가 관련 개체 (Checkin)를 반환 할 때 옵션 값으로 기본 키를 반환하기 때문에 저장하려고하면 유효하지 않은 옵션이 표시됩니다. 이 설정에서 ModelChoiceField를 계속 사용하려면 어떻게해야합니까? 아래 내 기본 스키마.Django : to_field 및 ModelChoiceForm을 사용하여 외래 키로 Modelform 저장
class Checkin(models.Model):
sampleid = models.CharField(unique=True, max_length=255, db_column='SampleID', primary_key=True)
#shortsampleid is the field that is sometimes used as a sort of pk.
shortsampleid = models.IntegerField(unique=True, db_column='ShortSampleID')
company = models.CharField(max_length=765, db_column='Company', blank=True)
...
class Tblshipmentstore(models.Model):
shortsampleid = models.ForeignKey(Checkin, to_field='shortsampleid', db_column='ShortSampleID')
shipmentitem = models.CharField(max_length=765, db_column='ShipmentItem', blank=True)
shipdate = models.DateField(null=True, db_column='ShipDate', blank=True)
...
class TblShipmentstoreForm(ModelForm):
shortsampleid = forms.ModelChoiceField(queryset=Checkin.objects.all(), widget=forms.HiddenInput());
class Meta:
model = 'Tblshipmentstore'
내가 대답 아래 게시 한하지만, 당신이하려는 이유 당신이려고하는 경우에 나는 폼에 알고 호기심 것 어쨌든 필드를 숨기시겠습니까? 실제로 일부 자바 스크립트 또는 somesuch 양식을 사용하여? – kdt