이 모델의 공급 업체에 서비스를 할당 할 수있는 양식을 만들고 싶습니다. 다른 프로그램에서 사용하는 DB를 사용하기 때문에 정의 된 M2M 관계가 없으므로 변경할 수없는 것 같습니다. 나는 그것도 틀릴지도 모른다.여러 개의 체크 박스가있는 양식과 양식을 사용하는 M2M
class Service(models.Model):
name = models.CharField(max_length=30L, blank=True)
class ServiceUser(models.Model):
service = models.ForeignKey(Service, null=False, blank=False)
contact = models.ForeignKey(Contact, null=False, blank=False)
class SupplierPrice(models.Model):
service_user = models.ForeignKey('ServiceUser')
price_type = models.IntegerField(choices=PRICE_TYPES)
price = models.DecimalField(max_digits=10, decimal_places=4)
나는이 양식을 만든 : 뭔가 잘못이다
class SupplierServiceUpdateView(FormActionMixin, TemplateView):
def get_context_data(self, **kwargs):
supplier = Contact.objects.get(pk=self.kwargs.get('pk'))
service_user = ServiceUser.objects.filter(contact=supplier)
form = SupplierServiceForm(instance=service_user)
return {'form': form}
나는 느낌이 :
여기class SupplierServiceForm(ModelForm):
class Meta:
services = ModelMultipleChoiceField(queryset=Service.objects.all())
model = ServiceUser
widgets = {
'service': CheckboxSelectMultiple(),
'contact': HiddenInput(),
}
내가 어떤 성공없이 작동하기 시작보기입니다 내가 그것을하려고하는 방법. 올바른 양식이 표시되었지만 컨택으로 인스턴스화되지 않고 공급자가 이미 service_user에 일부 항목이 있어도 확인란이 선택되어 있지 않습니다.
서비스가 포함 된 확인란 목록을 새로운 여러 필드로 표시합니다. 내가 service_user라는 쿼리로 인스턴스화하려고하면 쿼리 세트에 아무런 속성이 없다는 것에 불평합니다. __meta__ 어쨌든 multiplechoice 필드는 필요 없지만 확인란은 필요하지 않습니다. –
service_user = models.ManyToManyField (ServiceUser) 또는 service_user = models.ManyToManyField (Service)와 같이 정의하여 처리 할 수 있음을 의미합니까? 데이터를 파괴하지 않으면 시도 할 수 있습니다. –
원래 필드와 관련없는 새로운 필드입니다. 앞서 언급했듯이이 문제는 응용 프로그램의 이전 부분에서 해당 필드에 추가하는 항목에 액세스 할 수 없다는 유일한 문제가 있습니다. – cdvv7788