首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何将外键值分配给我的帖子

如何将外键值分配给我的帖子
EN

Stack Overflow用户
提问于 2019-05-17 13:32:43
回答 1查看 38关注 0票数 -3

CreateView

代码语言:javascript
复制
def post(self, request, *args, **kwargs):
    form = BusinessDetailForm(request.POST,request.FILES or None) 
    form2 = MultipleImageForm(request.POST or None, request.FILES or None)
    files = request.FILES.getlist('images')
    if all([form.is_valid(),form2.is_valid()]):
        forms = form.save(commit=False) 
        geolocator = Nominatim()
        location = geolocator.geocode(self.request.POST.get("pin_code",False))
        forms.latitude = location.latitude
        forms.longitude = location.longitude 
        forms.created_by = self.request.user 
        forms.themes = self 
        # forms.object_id = int(self.request.POST.get("id",False))
        forms.save()

models.py

代码语言:javascript
复制
class BusinessDetail(models.Model):
    # content_type = models.ForeignKey(ContentType,on_delete = models.CASCADE)
    # object_id = models.PositiveIntegerField()
    # content_object = GenericForeignKey('content_type','object_id')
    themes = models.ForeignKey(Themes,on_delete=models.CASCADE,primary_key=False)

    # object_id = models.PositiveIntegerField()

    created_by =models.ForeignKey(settings.AUTH_USER_MODEL,on_delete=models.CASCADE,primary_key=False)
    listin_catagory =models.CharField(max_length=200,choices=listin_Catagory,blank=True)
    business_name =models.CharField(max_length=200,blank=True)

    #themes table
class Themes(models.Model):
    theme_created_by =models.ForeignKey(settings.AUTH_USER_MODEL,on_delete=models.CASCADE,primary_key=False)
    default_theme = models.BooleanField(blank=True,default=False)
    technology_theme = models.BooleanField(blank=True,default=False)

错误是

不能赋值"":"BusinessDetail.themes“必须是"Themes”实例。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-05-17 13:48:05

CreateView post方法中,您需要将主题对象分配给forms.themes。就像这样

代码语言:javascript
复制
forms.themes=Themes.objects.first()

但您可能会被动态分配主题。喜欢

代码语言:javascript
复制
forms.themes=Themes.objects.filter(pk=somevalue).last()
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56180188

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档