質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
Django

DjangoはPythonで書かれた、オープンソースウェブアプリケーションのフレームワークです。複雑なデータベースを扱うウェブサイトを開発する際に必要な労力を減らす為にデザインされました。

PostgreSQL

PostgreSQLはオープンソースのオブジェクトリレーショナルデータベース管理システムです。 Oracle Databaseで使われるPL/SQLを参考に実装されたビルトイン言語で、Windows、 Mac、Linux、UNIX、MSなどいくつものプラットフォームに対応しています。

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

解決済

3回答

2344閲覧

djangoのFormModelでエラーが出る

locking

総合スコア24

Django

DjangoはPythonで書かれた、オープンソースウェブアプリケーションのフレームワークです。複雑なデータベースを扱うウェブサイトを開発する際に必要な労力を減らす為にデザインされました。

PostgreSQL

PostgreSQLはオープンソースのオブジェクトリレーショナルデータベース管理システムです。 Oracle Databaseで使われるPL/SQLを参考に実装されたビルトイン言語で、Windows、 Mac、Linux、UNIX、MSなどいくつものプラットフォームに対応しています。

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

0クリップ

投稿2018/04/23 05:57

編集2018/04/24 02:25

djangoでformmodelを使い、ユーザーからの投稿を受け付けてデータベース(PostgreSQL)に保存しようと考えています。
試しに自分でログインしてフォームを送信してみたところ、下記のようなエラーが出ました。
イメージ説明

<試してみて失敗した解決法>
・もう一度makemigrations、migateコマンドを走らせる
・makemigrations "アプリ名"、migrate "アプリ名"としてみる
・スペルミスを修正する(これは失敗ではないですが、直接このエラーへの効果はありませんでした。)

<追記>
models.py

python

1from django.db import models 2 3# Create your models here. 4 5class Received_Marker(models.Model): 6 name = models.CharField(max_length=150) 7 lat = models.DecimalField(max_digits=8, decimal_places=6) 8 lng = models.DecimalField(max_digits=9, decimal_places=6) 9 body = models.TextField() 10 . 11 . 12 . 13 14 def __str__(self): 15 return self.name 16 17 def summary(self): 18 return self.body[:50]

forms.py

python

1from django import forms 2 3from .models import Received_Marker 4 5class MarkerForm(forms.ModelForm): 6 7 class Meta: 8 model = Received_Marker 9 fields = ("name", "lat", "lng", "body",.....) 10 11 12

urls.py

python

1from django.conf.urls import url 2from django.urls import path 3from . import views 4 5urlpatterns = [url(r'^add_place/$', views.MarkerCreateView.as_view(), name='add_place_page')]

views.py

python

1from django.shortcuts import render, get_object_or_404 2from django.http import HttpResponse 3from .models import Received_Marker 4from .forms import MarkerForm 5from django.views.generic import CreateView, UpdateView 6 7class MarkerCreateView(CreateView): 8 model = Received_Marker 9 form_class = MarkerForm 10 template_name = "posts/add_place.html" 11 success_url = "/user"

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

locking

2018/04/24 02:26

ソースコードを追記しました
locking

2018/04/24 02:37

どうやらマイグレーションがうまくいっていなくて、テーブルが作成されていないようなのですが、それをもう一度一から行うためには、マイグレーションファイルを削除すればよいのでしょうか?
guest

回答3

0

自己解決

pycacheを削除してもmakemigrationsを走らせてもダメだったので、psqlを使い、手動でエラーメッセージが要求しているテーブルをPostgreSQL上に作成して解決。
その際、最後にデーモンのリロード、アプリケーションサーバーと軽量ウェブサーバーの再起動コマンドを走らせることを忘れずに。

投稿2018/04/24 13:46

locking

総合スコア24

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

posts_received_makerというテーブルがないというエラーなので、
pgadminとかpsqlとかでテーブルができているかどうか確認してはどうでしょうか。
似たような名前のテーブルができているかも。

あとコーディングスタイル的には、
クラス名はReceived_MarkerはReceivedMarkerのようにキャメルケースにするのがならわしです。
アンダースコアはapp名との区切りとかでも使うので、
推奨されてないところで無闇に使うと、予期しないエラーに苦しむことがあります。

投稿2018/04/24 13:28

kokardy

総合スコア781

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

locking

2018/04/24 13:42

アドバイスありがとうございます。非常に強引な方法で自己解決しました。
guest

0

models.pyの定義を見直してください。

posts_received_marker とあるので def posts?にProgrammingErr?

あと
プロジェクトフォルダのmigrationsフォルダに何かできていますか。
その内容を確認し、もし修正の参考になる情報が見当たらない場合
再度makemigrations、migateコマンドを走らせる をしてください。

スペルミスを修正する(これは失敗ではないですが、直接このエラーへの効果はありませんでした。)

とありますが結構まちがったことをしているものです。
自分の入力した箇所を全部 注意深く見直してください。

投稿2018/04/24 04:49

kawakawa2018

総合スコア1195

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問