当前位置: 首页 > 知识库问答 >
问题:

无法在外键指向用户模型的情况下插入django模型

袁法
2023-03-14

我对django很新,我正在工作一个工作门户网站。我的用户是招聘人员和学生。当招聘人员发布工作时,我可以从表单中检索所有值,但无法插入实习模型。你们能帮忙吗?

下面是我的代码

models.py

class Recruiter(models.Model):

     STATUS_CHOICES = (
     ('Pending', 'Pending'),
     ('Accepted', 'Accepted'),
)
     user = models.ForeignKey(User,on_delete=models.CASCADE)
     position = models.CharField(max_length=50)
     status = models.CharField(max_length=20, choices=STATUS_CHOICES)
     user_type = models.CharField(max_length=10, choices=USER_TYPE_CHOICES)

     def __str__(self):
          return self.user.username     

 

class Internship(models.Model):
 recruiter = models.ForeignKey(Recruiter, on_delete=models.SET_NULL, null=True)
 internship_title = models.CharField(max_length=100)
 internship_desc = RichTextField()
 start_date = models.DateField()
 end_date = models.DateField()
 posted_date = models.DateField()

 def __str__(self):
      return self.internship_title

views.py

def post_internship(request):
    if not request.user.is_authenticated:
        messages.warning(request,"Please login first")
        return redirect('login')

    if request.method == 'POST':
        start_date = request.POST['start_date']
        end_date = request.POST['end_date']
        internship_title = request.POST['internship_title']
        internship_desc = request.POST['internship_desc']
    
        user = request.user
        recruiter = Recruiter.objects.get(user=user)
        try:
            Internship.objects.create(recruiter=recruiter, internship_title=internship_title, 
     internship_desc=internship_desc, start_date=start_date, end_date=end_date,  
     posted_date=date.today())
        except:
            print('error')

       return render(request, 'post_internship.html', context)

共有1个答案

沃皓轩
2023-03-14

internship.objects.create()它将创建对象,但不会将其保存在数据库中,要使其工作,您必须执行以下操作:

     internship = Internship.objects.create(recruiter=recruiter, internship_title=internship_title, 
     internship_desc=internship_desc, start_date=start_date, end_date=end_date,  
     posted_date=date.today())
     internship.save()
 类似资料:
  • 所以我正在编写一个脚本,它从动态网页中抓取一些数据并将其提交到我的数据库表中。为此,我在Python中使用了Selenium。在我重新启动我的系统之前,一切都非常好。现在chrome只在无头模式下工作,当我注释掉该选项以便我可以看到chrome浏览器的实际窗口时,我得到了这个错误 selenium.common.exceptions。WebDriverException:消息:未知错误:Chrom

  • 问题内容: 我想在我的(Python)代码中使用Django模板引擎,但是我没有构建基于Django的网站。如何在没有settings.py文件(和其他文件)且无需设置DJANGO_SETTINGS_MODULE环境变量的情况下使用它? 如果我运行以下代码: 我得到: 问题答案: 解决方案很简单。它实际上有据可查,但不太容易找到。(我不得不仔细研究- 当我尝试了几种其他的Google搜索时,它并没

  • 问题内容: 我想在我的(Python)代码中使用Django模板引擎,但是我没有构建基于Django的网站。如何在没有settings.py文件(和其他文件)且无需设置DJANGO_SETTINGS_MODULE环境变量的情况下使用它? 如果我运行以下代码: 我得到: 问题答案: 解决方案很简单。它实际上有据可查,但不太容易找到。(我必须仔细研究-当我尝试了几种其他的Google搜索时并没有出现。

  • 问题内容: 我正在尝试对同一模型中的两个字段使用相同的外键,并且出现错误。 我正在尝试建立主要和辅助通话用户,但是在收到以下错误后不确定如何格式化关系 问题答案: 您必须为两个列定义不同的名称。例如: 另请参阅文档: 用于从相关对象到此对象的关系的名称。它也是(用于目标模型的反向过滤器名称的名称)的默认值。有关完整的解释和示例,请参见相关的对象文档。注意,在抽象模型上定义关系时必须设置此值。并且当

  • 对编码来说是新的,如果已经涵盖了,请道歉。花了几个晚上在Django的文档、YouTube、谷歌和这里尝试各种方法来解决这个问题。 我有一个与驾驶员相关的模型路线,我试图在我的模板上显示所有与该路线相关的驾驶员的路线。然而,目前我所能得到的只是来自路线模型的数据,而不是相关驾驶员的数据。 会感谢任何帮助,因为我正在努力让我的头! Models.py Views.py 样板 我尝试过.prefetc

  • Ctrl+r寄存器名称 插入指定寄存器内容 Ctrl+k(2个字符) 输入二合字符 Ctrl+v数字 通过数字编码输入字符 Ctrl+v键位 输入键位的名称