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

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

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

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

Python

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

Q&A

2回答

1272閲覧

django makemigrationsができない

rs888

総合スコア5

Django

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

Python

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

0グッド

0クリップ

投稿2020/07/07 07:21

djangoでアプリ制作をしようと
まずはmodelを作りmakemigrationsをしたいのですが
このエラーにずっと苦戦してます。。。

models.py

1from django.db import models 2from django.contrib.auth.models import User 3from datetime import datetime 4 5class Post(models.Model): 6 author = models.ForeignKey(User, on_delete=models.CASCADE) 7 photo = models.ImageField(upload_to='media/', blank=True, null=True) 8 caption = models.TextField(blank=True, null=True) 9 likes = models.ManyToManyField(User, related_name='liker',blank=True) 10 follow = models.ManyToManyField(User, related_name='follower') 11 published_date = models.DateTimeField(auto_now_add=True) 12 tag_name = models.CharField(max_length=10, blank=True, null=True) 13 14 def __str__(self): 15 return self.caption 16 17class Comments(models.Model): 18 comment = models.CharField(max_length=500) 19 commenter = models.ForeignKey(User, on_delete=models.CASCADE, 20 related_name='commenter') 21 posted_id = models.ForeignKey(Post, on_delete=models.CASCADE) 22 pub_date = models.DateTimeField(auto_now_add=True) 23 24 def __str__(self): 25 return self.commenter 26 27 28class Favorites(models.Model): 29 post = models.ForeignKey(Post, on_delete=models.CASCADE, \ 30 related_name='favorite_post') 31 favorite_ppl = models.ForeignKey(User, on_delete=models.CASCADE,) 32 33 34 35class Follow(models.Model): 36 follower = models.ForeignKey(User, on_delete=models.CASCADE) 37 38 39class Tags(models.Model): 40 tag_name = models.ManyToManyField(Post) 41

admin.py

1 2from django.contrib import admin 3from Sns.models import Post, Comments, Favorites 4 5# Register your models here. 6 7admin.site.register(Post) 8admin.site.register(Comments) 9admin.site.register(Favorites) 10 11

model,adminはこんな感じです。

File "manage.py", line 22, in <module> main() File "manage.py", line 18, in main execute_from_command_line(sys.argv) File "/Users/rs0325/django/django/core/management/__init__.py", line 401, in execute_from_command_line utility.execute() File "/Users/rs0325/django/django/core/management/__init__.py", line 395, in execute self.fetch_command(subcommand).run_from_argv(self.argv) File "/Users/rs0325/django/django/core/management/base.py", line 330, in run_from_argv self.execute(*args, **cmd_options) File "/Users/rs0325/django/django/core/management/base.py", line 371, in execute output = self.handle(*args, **options) File "/Users/rs0325/django/django/core/management/base.py", line 85, in wrapped res = handle_func(*args, **kwargs) File "/Users/rs0325/django/django/core/management/commands/makemigrations.py", line 164, in handle changes = autodetector.changes( File "/Users/rs0325/django/django/db/migrations/autodetector.py", line 43, in changes changes = self._detect_changes(convert_apps, graph) File "/Users/rs0325/django/django/db/migrations/autodetector.py", line 129, in _detect_changes self.new_apps = self.to_state.apps File "/Users/rs0325/django/django/utils/functional.py", line 48, in __get__ res = instance.__dict__[self.name] = self.func(instance) File "/Users/rs0325/django/django/db/migrations/state.py", line 208, in apps return StateApps(self.real_apps, self.models) File "/Users/rs0325/django/django/db/migrations/state.py", line 278, in __init__ raise ValueError("\n".join(error.msg for error in errors)) ValueError: The field Sns.Comments.posted_id was declared with a lazy reference to 'sns.post', but app 'sns' isn't installed. The field Sns.Favorites.post was declared with a lazy reference to 'sns.post', but app 'sns' isn't installed.

snsがインストールされていないということ?
ですがsetting.pyのinstalled_appの方にしっかり登録してあります。

setting.py

1INSTALLED_APPS = [ 2 'django.contrib.admin', 3 'django.contrib.auth', 4 'django.contrib.contenttypes', 5 'django.contrib.sessions', 6 'django.contrib.messages', 7 'django.contrib.staticfiles', 8 'django.contrib.sites', 9 10 'rest_framework', 11 'rest_framework.authtoken', 12 13  'Sns', 14

どなたか分かる方いましたら教えていただきたいです。

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

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

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

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

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

guest

回答2

0

どこかの記述で"Sns"であるべきところが"sns"になっている(またはその逆)部分がありませんか?

投稿2020/07/07 09:55

kaisyano-inu

総合スコア23

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

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

rs888

2020/07/07 10:45

今確認しましたがそういった部分は一切ありませんでした( ; ; ) 何が原因なのでしょうか。。
guest

0

下記のようにしたらどうなりますか?

python

1# settings.py 2INSTALLED_APPS = [ 3 # snip 4 'sns', # 'Sns'を小文字に 5]

投稿2020/07/07 08:03

hasami

総合スコア1277

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

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

rs888

2020/07/07 08:09

今試してみましたが ModuleNotFoundError: No module named 'sns' というエラーで返って来てしまいました( ; ; )
hasami

2020/07/07 22:26

admin.pyのfromがSnsになっています。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問