首页 > 解决方案 > Django中外键的实现

问题描述

我为我的应用程序编写了这个模型

模型.py

from django.db import models
from accounts.models import FrontendUsers
from django.utils import timezone

# Create your models here.
class Jit(models.Model):
    value = models.CharField(max_length = 100, blank = False)
    author = models.ForeignKey(FrontendUsers, on_delete=models.CASCADE)
    date = models.DateField(default=timezone.now() )

在视图中,我定义了一个函数,它将使用从用户那里获取的信息填充 Jits 表。

视图.py

def new_post (request):
    if request.method == 'POST':
        value = request.POST.get('value')
        if value != '' and value :
            author_id = int(request.POST['user_id'])



            jit = Jit.objects.create(value = value,author=author_id)

            jit.save()
            return redirect('feed')
        else:
            messages.error(request,'There was some problem writing your jit.')
    return redirect('feed')

错误

无法分配“15”:“Jit.author”必须是“FrontendUsers”实例。

简而言之,我试图将 author_id 添加到 Jit 的表中,以便可以连接两个表。

标签: djangodjango-modelsdjango-views

解决方案


你可以像这样使用它

jit = Jit.objects.create(value = value,author_id=author_id)


推荐阅读