ModelForm을 사용하여 양식을 만들고, ManyToMany 필드를 제외한 양식의 모든 필드에 초기 값을 설정했습니다.어떻게 장고에서 ManyToMany 필드의 초기 값을 설정합니까?
나는 그 목록을 줄 필요가 있음을 알고 있지만 제대로 작동하지는 않는다. 지금 내보기의 코드는 다음과 같습니다.
userProfile = request.user.get_profile()
employer = userProfile.employer
bar_memberships = userProfile.barmembership.all()
profileForm = ProfileForm(
initial = {'employer': employer, 'barmembership' : bar_memberships})
하지만 작동하지 않습니다. 내가 여기서 뭔가를 놓치고 있니?
# a class where bar memberships are held and handled.
class BarMembership(models.Model):
barMembershipUUID = models.AutoField("a unique ID for each bar membership",
primary_key=True)
barMembership = USStateField("the two letter state abbreviation of a bar membership")
def __unicode__(self):
return self.get_barMembership_display()
class Meta:
verbose_name = "bar membership"
db_table = "BarMembership"
ordering = ["barMembership"]
을 그리고 확장되고있는 사용자 프로파일 : 주석의 요청에 따라
, 여기 내 모델의 관련 부분의
# a class to extend the User class with the fields we need.
class UserProfile(models.Model):
userProfileUUID = models.AutoField("a unique ID for each user profile",
primary_key=True)
user = models.ForeignKey(User,
verbose_name="the user this model extends",
unique=True)
employer = models.CharField("the user's employer",
max_length=100,
blank=True)
barmembership = models.ManyToManyField(BarMembership,
verbose_name="the bar memberships held by the user",
blank=True,
null=True)
희망이 도움이됩니다.
귀하의 모델을 표시하십시오. –