私はstackoverflow、Python、Djangoの新機能ですが、(NOT NULL制約に失敗しました:sixerrapp_gig.user_id)というエラーが表示されます。フォーム。Django Help:CreateViewでNOT NULL制約を解決できませんでした。
私はこれまでStackOverflowで見つかったものからuser_idの値を割り当てていないのですが、django CreateViewを使用してそれを行う方法がわかりません。
プロジェクトの練習はfiverr.comのクローンに基づいています。 models.pyに
:
以下のコードを見てください
from django.db import models
from django.contrib.auth.models import User
from django.utils import timezone
from django.core.urlresolvers import reverse #for model forms
class Profile(models.Model):
user = models.OneToOneField(User, on_delete=models.CASCADE)
avatar = models.CharField(max_length=500)
about = models.CharField(max_length=1000)
def __str__(self):
return self.user.username
class Gig(models.Model):
CATEGORY_CHOICES = (
("GD", "Graphics & Design"),
("DM", "Digital & Marketing"),
("VA", "Video & Animation"),
("MA", "Music & Audio"),
("PT", "Programming & Tech")
)
title = models.CharField(max_length=500)
category = models.CharField(max_length = 2, choices=CATEGORY_CHOICES)
description = models.CharField(max_length=1000)
price = models.IntegerField(default=6)
photo = models.FileField(upload_to='gigs')
status = models.BooleanField(default=True)
user = models.ForeignKey(User)
create_time = models.DateTimeField(default=timezone.now)
def get_absolute_url(self):
return reverse('my_gigs')
def __str__(self):
return self.title
はviews.py:私は考えて何
from django.shortcuts import render, redirect
from django.contrib.auth.decorators import login_required
from django.views import generic
from django.views.generic.edit import CreateView, UpdateView, DeleteView
from .models import Gig
from .forms import GigForm
class CreateGig(CreateView):
model = Gig
fields = ['title','category','description','price','photo','status']
gig_form.html
{% extends 'base.html' %}
{% load staticfiles %}
{% block page %}
<form action="" method="post" enctype="multipart/form-data">
{% csrf_token %}
{% include 'sixerrapp/form-template.html' %}
<button type="submit" class="btn btn-primary">Submit</button>
</form>
{% endblock %}
Iユーザーフィールドが必要ですフォームがサブミットされると自動的に値が返されます。それを行うために私のコードには何が欠けているのか分かりません。
ありがとうございました!
ではより多くの参照ねえローハンは、魔法のように働きました。本当にありがとう、ありがとう! –