【发布时间】:2020-07-18 00:38:11
【问题描述】:
我正在构建一个在线法官,其中我有一个问题模型和一个答案模型。
models.py
from django.db import models
from django.core.validators import FileExtensionValidator
from django.urls import reverse
class Question(models.Model):
title = models.CharField(max_length=100)
content = models.TextField()
solution = models.FileField(
validators=[FileExtensionValidator(allowed_extensions=['txt'])], upload_to= 'media')
def __str__(self):
return self.title
def get_absolute_url(self):
return reverse('coder:detail', kwargs={'pk': self.pk})
class Answer(models.Model):
question = models.ForeignKey(Question, on_delete=models.CASCADE)
result = models.CharField(max_length=100,default = 'answer', null = True, blank = True)
# result = models.FileField( null= True, blank=True, default = 'media/media/output.txt',
# validators=[FileExtensionValidator(allowed_extensions=['txt'])], upload_to= 'media')
def __str__(self):
return f'{self.question.title} Answer'
def get_absolute_url(self):
return reverse('coder:detail', kwargs={'pk': self.pk})
views.py
from django.shortcuts import get_object_or_404, render
from django.urls import reverse_lazy
from django.contrib.auth.mixins import LoginRequiredMixin, UserPassesTestMixin
from django.views.generic import ListView, DetailView, CreateView, UpdateView, RedirectView
from django.db.models import Q
from .models import Question, Answer
class CoderListView(ListView):
model = Question
template_name = "coder/coder_list.html"
context_object_name = 'question'
class CoderDetailView(DetailView):
model = Question
template_name = "coder/coder_detail.html"
class CoderCreateView(CreateView):
model = Answer
fields = ['result']
context_object_name = 'answer'
success_url = reverse_lazy('coder:list')
template_name = "coder/coder_form.html"
def form_valid(self, form):
return super().form_valid(form)
我到底做错了什么?
我之前尝试过 FileField,但是当我不断收到错误时,我在刷新数据库后尝试了 CharField 以进一步调试,但我一直收到此错误:
是的,我确实尝试过适当地设置 null、空白和默认值,但仍然没有运气。也许与signals.py 文件有关?或者,也许我正在错误地执行外键,无论我做错了什么,我现在都无法指出。我们将不胜感激。
此页面正在使用 CoderCreateView。
【问题讨论】:
-
这个页面使用的是哪个视图?
-
@crimsonpython24 CoderCreateView.
标签: python django django-models foreign-keys