タグ付けされた質問 「django-models」

WebフレームワークDjangoのモデルクラスの使用に関する質問。

3
Djangoモデルのフィールドのデフォルト値
モデルがあるとします: class SomeModel(models.Model): id = models.AutoField(primary_key=True) a = models.CharField(max_length=10) b = models.CharField(max_length=7) 現在、デフォルトの管理者を使用して、このタイプのオブジェクトを作成/編集しています。b各オブジェクトを値で作成できず、デフォルト値を受け取ることができるように、管理者からフィールドを削除するにはどうすればよい0000000ですか?

4
Djangoエラー-一致するクエリが存在しません
私はついにプロジェクトを本番レベルにリリースしましたが、突然、開発段階で対処する必要がなかったいくつかの問題が発生しました。 ユーザーがいくつかのアクションを投稿すると、次のエラーが発生することがあります。 Traceback (most recent call last): File "/usr/local/lib/python2.7/dist-packages/django/core/handlers/base.py", line 111, in get_response response = callback(request, *callback_args, **callback_kwargs) File "home/ubuntu/server/opineer/comments/views.py", line 103, in comment_expand comment = Comment.objects.get(pk=comment_id) File "/usr/local/lib/python2.7/dist-packages/django/db/models/manager.py", line 131, in get return self.get_query_set().get(*args, **kwargs) File "/usr/local/lib/python2.7/dist-packages/django/db/models/query.py", line 366, in get % self.model._meta.object_name) DoesNotExist: Comment matching query does not …

3
Djangoのあるアプリから別のアプリへの外部キー
Djangoのmodels.pyファイルで、別のアプリのテーブルへの参照である外部キーを定義できるかどうか疑問に思っていますか? 言い換えれば、私はcfとプロファイルと呼ばれる2つのアプリを持っており、cf / models.pyには(他のものとともに)持っています: class Movie(models.Model): title = models.CharField(max_length=255) そして、profiles / models.pyに私が欲しい: class MovieProperty(models.Model): movie = models.ForeignKey(Movie) しかし、私はそれを機能させることができません。私はもう試した: movie = models.ForeignKey(cf.Movie) そして、models.pyの最初でcf.Movieをインポートしようとしましたが、次のようなエラーが常に発生します。 NameError: name 'User' is not defined この方法で2つのアプリを結び付けようとすることでルールを破っていますか、それとも構文が間違っていますか?

5
Django Adminのモデル履歴に結び付ける
セットアップ: 私は、ユーザーがデータベースにオブジェクトを作成し、戻って好きなだけ編集できるDjangoアプリケーションに取り組んでいます。 Djangoの管理サイトは、管理サイトを通じてオブジェクトに加えられた変更の履歴を保持しています。 質問: ユーザーが「コンテンツ」に加えた変更の履歴を確認できるように、アプリケーションを管理サイトの変更履歴にフックするにはどうすればよいですか?

4
djangoで個別の列をDISTINCTしますか?
SELECT * FROM...下に" "ではないクエリをDjangoで実行する方法があるかどうか知りたいです。SELECT DISTINCT columnName FROM ...代わりに" " を実行しようとしています。 具体的には、次のようなモデルがあります。 class ProductOrder(models.Model): Product = models.CharField(max_length=20, promary_key=True) Category = models.CharField(max_length=30) Rank = models.IntegerField() ここで、Rankは内のランクCategoryです。そのカテゴリ内の各ランクで何らかの操作を実行しているすべてのカテゴリを反復処理できるようにしたいと思います。 最初にシステム内のすべてのカテゴリのリストを取得してから、そのカテゴリ内のすべての製品をクエリし、すべてのカテゴリが処理されるまで繰り返します。 生のSQLは避けたいですが、そこに行かなければならない場合は問題ありません。Django / Pythonで生のSQLをコーディングしたことはありませんが。

1
Django管理者ManyToManyインライン「ForeignKeytoがありません」エラー
Django管理者を次のモデルに設定しています: class Quote(models.Model): author = models.CharField(max_length=100) quote = models.CharField(max_length=1000) tags = models.ManyToManyField('Tag') class Tag(models.Model): name = models.CharField(max_length=100) 次のコードで: class TagInline(admin.TabularInline): model = Tag class QuoteAdmin(admin.ModelAdmin): list_display = ('author', 'quote') inlines = (TagInline,) class TagAdmin(admin.ModelAdmin): pass admin.site.register(Quote, QuoteAdmin) admin.site.register(Tag, TagAdmin) 管理ページを表示してを追加しようとするQuoteと、ページに「」というエラーが表示されます<class 'quotes.models.Tag'> has no ForeignKey to <class 'quotes.models.Quote'>。これは、インラインを追加する前は発生しませんでした。どうしたの?をTagインラインとして正しく追加するにはどうすればよいですか? (私は答えを探すのに20分を費やしました。同様の質問を見つけましたが、それらの答えはどれも私には役に立ちませんでした。)


2
models.Modelの特定のフィールドのみを更新します
私はモデルを持っています class Survey(models.Model): created_by = models.ForeignKey(User) question = models.CharField(max_length=150) active = models.NullBooleanField() def __unicode__(self): return self.question そして今、私はactiveフィールドだけを更新したいと思います。だから私はこれを行います: survey = get_object_or_404(Survey, created_by=request.user, pk=question_id) survey.active = True survey.save(["active"]) エラーが発生しましたIntegrityError: PRIMARY KEY must be unique。 この方法で更新するのは正しいですか?

3
2つのDjangoクエリセットの和集合を見つけるにはどうすればよいですか?
2つのカスタムマネージャーメソッドを備えたDjangoモデルがあります。それぞれが、オブジェクトの異なるプロパティに基づいて、モデルのオブジェクトの異なるサブセットを返します。 各マネージャーメソッドによって返されるクエリセットの和集合であるクエリセット、またはオブジェクトのリストを取得する方法はありますか?


3
models.pyが巨大になった場合、それを分割する最良の方法は何ですか?
上司からの指示:「ロジックをに配置しないようにしたいmodels.py。これからは、データベースにアクセスするためのクラスとしてのみ使用し、モデルクラスを使用する外部クラスにすべてのロジックを保持するか、それらをラップする」 これは間違った方法だと思います。ファイルを小さく保つためだけにモデルのロジックを除外することは悪い考えだと思います。ロジックがモデルで最良の場合、それはファイルサイズに関係なく実際に実行する必要がある場所です。 インクルードを使用する簡単な方法はありますか?PHPの話では、models.py他の場所のモデルクラスをinclude()しているだけであることをスーパーバイザーに提案したいと思います。概念的には、これによりモデルに必要なすべてのロジックを持たせることができますが、ファイル数を増やすことでファイルサイズを抑えることができます(これにより、競合などのリビジョン管理の問題が減少します)。 それでは、models.pyファイルからモデルクラスを削除する簡単な方法がありますが、モデルはすべてのDjangoツールで動作しますか?または、「大きな」models.pyファイルの一般的な問題に対する完全に異なるがエレガントな解決策はありますか?任意の入力をいただければ幸いです。

4
同じモデルの別のフィールドに基づくDjangoモデルフィールドのデフォルト
サブジェクト名とそのイニシャルを含めたいモデルがあります(データはやや匿名化され、イニシャルによって追跡されます)。 今、私は書いた class Subject(models.Model): name = models.CharField("Name", max_length=30) def subject_initials(self): return ''.join(map(lambda x: '' if len(x)==0 else x[0], self.name.split(' '))) # Next line is what I want to do (or something equivalent), but doesn't work with # NameError: name 'self' is not defined subject_init = models.CharField("Subject Initials", max_length=5, default=self.subject_initials) 最後の行に示されているように、イニシャルを実際にデータベースに(名前とは無関係に)フィールドとして格納できるようにしたいと思いますが、名前フィールドに基づいてデフォルト値で初期化されます。しかし、djangoモデルには「自己」がないように見えるため、問題があります。 …

8
DjangoはFileFieldを削除します
Наэтотвопросестьответынаスタックオーバーフローнарусском:КакудалитьфайлнадискеизполяFileFieldに/のImageFieldприудаленииобъекта? DjangoでWebアプリを構築しています。ファイルをアップロードするモデルがありますが、削除できません。これが私のコードです: class Song(models.Model): name = models.CharField(blank=True, max_length=100) author = models.ForeignKey(User, to_field='id', related_name="id_user2") song = models.FileField(upload_to='/songs/') image = models.ImageField(upload_to='/pictures/', blank=True) date_upload = models.DateField(auto_now_add=True) def delete(self, *args, **kwargs): # You have to prepare what you need before delete the model storage, path = self.song.storage, self.song.path # Delete the model before the …

10
TypeErrorの取得:__ init __()に1つの必須の位置引数がありません:エントリのある子テーブルの後に親テーブルを追加しようとすると、 'on_delete'
sqliteデータベースには、という名前の親テーブルとという名前Categorieの子テーブルの2つのクラスがありますArticle。最初に子テーブルクラスを作成し、エントリを追加しました。だから最初に私はこれを持っていました: class Article(models.Model): titre=models.CharField(max_length=100) auteur=models.CharField(max_length=42) contenu=models.TextField(null=True) date=models.DateTimeField( auto_now_add=True, auto_now=False, verbose_name="Date de parution" ) def __str__(self): return self.titre 親テーブルを追加した後、models.py次のようになります。 from django.db import models # Create your models here. class Categorie(models.Model): nom = models.CharField(max_length=30) def __str__(self): return self.nom class Article(models.Model): titre=models.CharField(max_length=100) auteur=models.CharField(max_length=42) contenu=models.TextField(null=True) date=models.DateTimeField( auto_now_add=True, auto_now=False, verbose_name="Date de parution" ) categorie = …

3
DjangoでSELECTMAXを実行するにはどうすればよいですか?
オブジェクトのリストがあります。クエリを実行してフィールドの最大値を指定するにはどうすればよいですか。 私はこのコードを使用しています: def get_best_argument(self): try: arg = self.argument_set.order_by('-rating')[0].details except IndexError: return 'no posts' return arg 評価は整数です

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.