Q&A
djangoで下記のようなエラーが出ます。
registaration_post databaseを見ると、status_id はありませんでした。
モデルの書き方が原因で、heroku内で status_id colum が作成されないのでしょうか?
#frontpage.html
python
1{% extends "registration/base.html" %} 2{% block content %} 3 4 <br> 5 <br> 6 7 <h2 class="subtitle">add post</h2> 8 <br> 9 <form action="." method="post" enctype="multipart/form-data"> <!--これ忘れたた--> 10 {% csrf_token%} 11 {{form.as_p}} 12 <div class="field"> 13 <div class="control"> 14 <button class="button is-danger">submit</button> 15 </div> 16 </div> 17 </form> 18 <br> 19 <hr> 20 21 <br> 22 <br> 23 <br> 24 <br> 25 26 27 {% for post in posts %} 28 29 {% if post.status.pk != 4 %} 30 <!------------------post placed-------------> 31 <div class="post block"> 32 <small> 33 <strong> 34 35 <!-- 自分が人に作ったタスク これはどっちもUser クラスだから比較できる--> 36 {% if user.get_username == post.fromwho %} 37 {% if post.status.pk == 2 %} 38 <P class="border" style="padding:10px;">{{post.status}} 39 <a class="btn btn-outline-success" href="/aprove/{{post.id}}" role="button">aprove</a> 40 41 <a class="btn btn-outline-danger" href="/deny/{{post.id}}" role="button">deny</a> 42 </P> 43 {% endif %} 44 {% endif %} 45 46 <!-- 誰かが自分に作ったタスク --> 47 {% if user.pk == post.towho.pk %} 48 {% if post.status.pk == 3 %} 49 <p class="border" style="padding:10px;">{{post.status}} 50 <a class="btn btn-outline-primary" href="/request/{{post.id}}" role="button">request</a> 51 </p> 52 53 {% elif post.status.pk == 2 %} 54 <P class="border" style="padding:10px;">{{post.status}} 55 <a class="btn btn-outline-secondary" href="/unsend/{{post.id}}" role="button">unsend</a> 56 </p> 57 58 {% elif post.status.pk == 1 %} 59 <P class="border" style="padding:10px;">{{post.status}} 60 <a class="btn btn-outline-primary" href="/request/{{post.id}}" role="button">request</a> 61 </p> 62 {% endif %} 63 {% endif %} 64 65 </div> 66 </article> 67 68 69省略します
#models.py
python
1 2class Towho(models.Model): 3 name = models.CharField( 4 max_length=255, 5 blank=False, 6 null=False, 7 unique=True) 8 def __str__(self): 9 return self.name 10 11 12class Due(models.Model): 13 name=models.DateTimeField( 14 blank=False, 15 null=False, 16 auto_now=False) 17 def __str__(self): 18 return self.name 19 20 21class Status(models.Model): 22 status = models.CharField(verbose_name='状況', max_length=20, blank=True, null=True) 23 def __str__(self): 24 return self.status 25 26 27# from django.contrib.auth.models import User 28# Create your models here. 29class Post(models.Model): 30 title=models.CharField(max_length=255) 31 due= models.DateTimeField( 32 auto_now=False, 33 editable=True, 34 blank=False, 35 null=False) 36 fromwho = models.CharField(max_length=20) 37 38 towho = models.ForeignKey( 39 Towho, 40 on_delete=models.CASCADE) 41 42 body=models.TextField() 43 posted_date=models.DateTimeField(auto_now_add=True) 44 image = CloudinaryField('image', null=True, blank=True) 45 video = CloudinaryField('video', null=True, blank=True) 46 47 status = models.ForeignKey( 48 Status, 49 verbose_name='状況', on_delete=models.PROTECT, 50 default=3)#pkが3のassigned を初期値としてセット 51 52#-----------------------------comment--------------------------- 53class Comment(models.Model): 54 post = models.ForeignKey(Post, related_name="comments", on_delete=models.CASCADE) 55 name = models.CharField(max_length=255) 56 body= models.TextField() 57 posted_date=models.DateTimeField(auto_now_add=True) 58 image = CloudinaryField('image', null=True, blank=True) 59 video = CloudinaryField('video', null=True, blank=True) 60
#migrations/0001_initial.py
python
1 2# Generated by Django 4.1.4 on 2023-01-06 10:16 3 4import cloudinary.models 5from django.db import migrations, models 6import django.db.models.deletion 7 8 9class Migration(migrations.Migration): 10 11 initial = True 12 13 dependencies = [ 14 ] 15 16 operations = [ 17 migrations.CreateModel( 18 name='Due', 19 fields=[ 20 ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), 21 ('name', models.DateTimeField()), 22 ], 23 ), 24 migrations.CreateModel( 25 name='Status', 26 fields=[ 27 ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), 28 ('status', models.CharField(blank=True, max_length=20, null=True, verbose_name='状況')), 29 ], 30 ), 31 migrations.CreateModel( 32 name='Towho', 33 fields=[ 34 ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), 35 ('name', models.CharField(max_length=255, unique=True)), 36 ], 37 ), 38 migrations.CreateModel( 39 name='Post', 40 fields=[ 41 ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), 42 ('title', models.CharField(max_length=255)), 43 ('due', models.DateTimeField()), 44 ('fromwho', models.CharField(max_length=20)), 45 ('body', models.TextField()), 46 ('posted_date', models.DateTimeField(auto_now_add=True)), 47 ('image', cloudinary.models.CloudinaryField(blank=True, max_length=255, null=True, verbose_name='image')), 48 ('video', cloudinary.models.CloudinaryField(blank=True, max_length=255, null=True, verbose_name='video')), 49 ('status', models.ForeignKey(default=3, on_delete=django.db.models.deletion.PROTECT, to='registration.status', verbose_name='状況')), 50 ('towho', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='registration.towho')), 51 ], 52 ), 53 migrations.CreateModel( 54 name='Comment', 55 fields=[ 56 ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), 57 ('name', models.CharField(max_length=255)), 58 ('body', models.TextField()), 59 ('posted_date', models.DateTimeField(auto_now_add=True)), 60 ('image', cloudinary.models.CloudinaryField(blank=True, max_length=255, null=True, verbose_name='image')), 61 ('video', cloudinary.models.CloudinaryField(blank=True, max_length=255, null=True, verbose_name='video')), 62 ('post', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='comments', to='registration.post')), 63 ], 64 ), 65 ] 66
回答1件
下記のような回答は推奨されていません。
このような回答には修正を依頼しましょう。
退会済みユーザー
2023/01/06 10:59
2023/01/06 11:04
2023/01/06 11:04
退会済みユーザー
2023/01/06 11:11
退会済みユーザー
2023/01/06 11:12
退会済みユーザー
2023/01/06 12:04