gpt4 book ai didi

python - Django 的 OneToOneField 不是引用另一个表的 id 字段吗?

转载 作者:太空宇宙 更新时间:2023-11-03 12:57:18 25 4
gpt4 key购买 nike

我认为 models.OneToOneField,在本例中是组字段,指的是 Group 表的 id 字段。但是,通过我的 views.py,该组的 id == 6 但 Group_Cover 的 group_id == 3 如果我不上传图像,则会发生组的 id == 2、3 和 4

对不起,我的英语很奇怪。简而言之,当Group的id为6时,我认为Django在Group_Cover的group_id中设置6。

模型.py

@python_2_unicode_compatible
class Group(models.Model):

#group_id = models.AutoField(primary_key=True)
group_name = models.CharField(max_length=50, unique=False, blank=False)

class Meta:
db_table = traceback.extract_stack()[-2][2].lower()


@python_2_unicode_compatible
class Group_Cover(models.Model):

group = models.OneToOneField(Group, primary_key=True)
group_cover = models.ImageField(upload_to="static/image/group/")

class Meta:
db_table = traceback.extract_stack()[-2][2].lower()

View .py

@login_required(login_url='/')
def group_register(request):

import pdb; pdb.set_trace()
from myapp.forms import GroupRegister
from myapp.forms import GroupCover
formset = GroupRegister
formcover = GroupCover

if request.method == 'POST':
form = formset(request.POST)
cover = formcover(request.POST)

if form.is_valid():
from myapp.models import Group
new_group = Group()
new_group.group_name = form.cleaned_data['group_name']
new_group.save()

from myapp.models import Group_Cover
new_cover = Group_Cover()
new_cover.group_cover = request.FILES['group_cover']
new_cover.save()

return redirect('/myapp/group_page/{}'.format(new_group.id))

else:
form = formset()
cover = formcover()

view = {
'form': form,
'cover': cover,
}
template = 'myapp/group/group_register.html'
return render(request, template, view)

最佳答案

您需要将 Group 实例分配给 Group_Cover 实例。或多或少是这样:

   if form.is_valid():
from myapp.models import Group
new_group = Group()
new_group.group_name = form.cleaned_data['group_name']
new_group.save()

from myapp.models import Group_Cover
new_cover = Group_Cover()
new_cover.group_cover = request.FILES['group_cover']

new_cover.group = new_group # This line assigns it

new_cover.save()

关于python - Django 的 OneToOneField 不是引用另一个表的 id 字段吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36177902/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com