ModelMultipleChoiceField를 사용자 정의 쿼 리셋을 사용하도록 설정하는 방법에 대한 모든 방법을 보았습니다. 시도해 보았습니다. 그러나 모두 동일한 패러다임을 사용합니다. 쿼리 세트는 동일한 개체의 필터링 된 목록입니다.ModelMultipleChoiceField의 쿼리 세트를 사용자 정의 레코드 세트로 동적으로 설정하기
제 경우에는 관리자가 텍스트 부분으로 사용자 이름을 사용하는 대신 다중 선택 양식을 그려야합니다. 내 계정 클래스의 name
필드를 사용하고 싶습니다. 그러나, 나는 Account.name
속성과 User.id
재산으로 선택 박스를 그릴 위의 queryset
을 원이 작동
# models.py
class Account(models.Model):
name = models.CharField(max_length=128,help_text="A display name that people understand")
user = models.ForeignKey(User, unique=True) # Tied to the User class in settings.py
class Organisation(models.Model):
administrators = models.ManyToManyField(User)
# admin.py
from django.forms import ModelMultipleChoiceField
from django.contrib.auth.models import User
class OrganisationAdminForm(forms.ModelForm):
def __init__(self, *args, **kwargs):
from ethico.accounts.models import Account
self.base_fields["administrators"] = ModelMultipleChoiceField(
queryset=User.objects.all(),
required=False
)
super(OrganisationAdminForm, self).__init__(*args, **kwargs)
class Meta:
model = Organisation
:
는 여기에 내가 뭘 찾았는지의 고장입니다. 이 작동하지 않았다 :이 오류로 인해 실패
queryset=Account.objects.all().order_by("name").values_list("user","name")
:
'tuple' object has no attribute 'pk'
나는이 쉽게 될 것이라고 생각하지만, 그것은 죽은 엔드의 시간에 켜져. 누군가 빛을 비추는 데 관심이 있습니까?
내가 왜 투표를 했습니까? 설명 할 수 있니? – sebpiq