【发布时间】:2020-04-26 19:20:43
【问题描述】:
所以我试图 get_or_create 一个对话对象。现在,如果已经创建了对象,则代码可以正常工作。但是,如果它没有被创建,它将创建对话对象,但不会与我试图传递的成员一起创建。一个空的对话对象。 members 是用户的多对多字段。我在这里做错了什么?
观看次数/消息
def message (request, profile_id):
if request.method == 'POST':
form = MessageForm(request.POST)
if form.is_valid():
form.save()
return redirect('dating_app:messages', profile_id)
else:
conversation, created = Conversation.objects.filter(members = request.user).filter(members= profile_id).get_or_create()
other_user = conversation.members.filter(id=profile_id).get()
form = MessageForm({'sender': request.user, 'conversation': conversation})
context = {'form' : form, 'other_user': other_user }
return render(request, 'dating_app/message.html', context)
models.py/Conversation
class Conversation(models.Model):
members = models.ManyToManyField(settings.AUTH_USER_MODEL)
【问题讨论】:
标签: django