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

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

17
djangoでnull = True、blank = Trueを区別する
この投稿を改善してみませんか?この質問に対する詳細な回答を提供してください。これには、引用や、回答が正しい理由の説明が含まれます。詳細が不十分な回答は編集または削除される場合があります。 djangoにデータベースフィールドを追加するとき、通常は次のように記述します。 models.CharField(max_length=100, null=True, blank=True) 同じことはForeignKey、DecimalFieldなどで行われます。持つことの基本的な違いは何ですか null=True のみ blank=True のみ null=True、 blank=True 異なる(に関してでCharField、ForeignKey、ManyToManyField、DateTimeField)フィールド。1/2/3を使用する利点と欠点は何ですか?

15
Djangoクエリセットフィルタリングで等しくない方法を教えてください。
DjangoモデルのQuerySetsには、__gtと__ltの比較値がありますが、__ne/ !=/ <>(等しくない?) 等しくないを使用してフィルタリングしたい: 例: Model: bool a; int x; が欲しいです results = Model.objects.exclude(a=true, x!=5) これ!=は正しい構文ではありません。私が試しました__ne、<>。 私は結局使用しました: results = Model.objects.exclude(a=true, x__lt=5).exclude(a=true, x__gt=5)

10
MySQLで外部キー制約を一時的に無効にする方法は?
MySQLの制約を一時的に無効にすることは可能ですか? 2つのDjangoモデルがあり、それぞれに他のモデルへのForeignKeyがあります。モデルのインスタンスを削除すると、ForeignKey制約のためにエラーが返されます。 cursor.execute("DELETE FROM myapp_item WHERE n = %s", n) transaction.commit_unless_managed() #a foreign key constraint fails here cursor.execute("DELETE FROM myapp_style WHERE n = %s", n) transaction.commit_unless_managed() 一時的に制約を無効にして、とにかく削除することは可能ですか?

9
Djangoの「スラッグ」とは何ですか?
Djangoのコードを読んだとき、「スラグ」と呼ばれるものをモデルでよく見ます。これが何かはよくわかりませんが、URLと関係があることはわかっています。このナメクジをいつどのように使用する予定ですか? (私はこの用語集でその定義を読みました。)


12
Djangoのカスタムフィールドを使用してUserモデルを拡張する
カスタムフィールドでユーザーモデル(Djangoの認証アプリにバンドルされている)を拡張する最良の方法は何ですか?(認証目的で)ユーザー名としてメールを使用することもできます。 すでにいくつかの 方法を見てきましたが、どれが最適かを判断できません。


2
「一意」の2つのフィールドをカップルとして定義する方法
Djangoでいくつかのフィールドを一意として定義する方法はありますか? (ジャーナルの)ボリュームのテーブルがあり、同じジャーナルに複数のボリューム番号が必要ではありません。 class Volume(models.Model): id = models.AutoField(primary_key=True) journal_id = models.ForeignKey(Journals, db_column='jid', null=True, verbose_name = "Journal") volume_number = models.CharField('Volume Number', max_length=100) comments = models.TextField('Comments', max_length=4000, blank=True) 私は入れてみましたunique = Trueフィールドに属性としてjournal_idそしてvolume_number、それは動作しません。

8
Djangoモデルでon_deleteは何をしますか?
私はDjangoに精通していon_delete=models.CASCADEますが、最近モデルにオプションが存在することに気づきました。同じもののドキュメントを検索しましたが、それ以上のものを見つけることができませんでした: Django 1.9で変更: on_deleteこれで、2番目の位置引数として使用できます(以前は通常、キーワード引数としてのみ渡されていました)。Django 2.0では必須の引数になります。 使用例は from django.db import models class Car(models.Model): manufacturer = models.ForeignKey( 'Manufacturer', on_delete=models.CASCADE, ) # ... class Manufacturer(models.Model): # ... pass on_deleteは何をしますか?(モデルが削除された場合に実行されるアクションを推測します) 何をしmodels.CASCADEますか?(ドキュメンテーションのヒント) 他にどのようなオプションがありますか(私の推測が正しい場合)? このドキュメントはどこにありますか?

9
djangoでGROUP BYとしてクエリする方法は?
モデルをクエリします。 Members.objects.all() そしてそれは返します: Eric, Salesman, X-Shop Freddie, Manager, X2-Shop Teddy, Salesman, X2-Shop Sean, Manager, X2-Shop 私が欲しいのはgroup_by、データベースにクエリを実行するためのDjangoの最良の方法を知ることです。 Members.objects.all().group_by('designation') もちろん、これは機能しません。でいくつかのトリックを実行できることはわかっていますがdjango/db/models/query.py、パッチを適用せずにそれを実行する方法を知りたいだけです。

13
Django ModelAdminの「list_display」は、ForeignKeyフィールドの属性を表示できますか?
私が持っているPersonに外部キー関係があるモデルBookフィールドの数を持っている、が、私はほとんどが心配ですauthor(標準CharFieldです)。 そうは言っても、私のPersonAdminモデルでは、次をbook.author使用して表示したいと思いますlist_display: class PersonAdmin(admin.ModelAdmin): list_display = ['book.author',] 私はそうするための明白な方法をすべて試しましたが、何もうまくいかないようです。 助言がありますか?

25
保存するときに、フィールドが変更されたかどうかをどのように確認できますか?
私のモデルでは: class Alias(MyBaseModel): remote_image = models.URLField(max_length=500, null=True, help_text="A URL that is downloaded and cached for the image. Only used when the alias is made") image = models.ImageField(upload_to='alias', default='alias-default.png', help_text="An image representing the alias") def save(self, *args, **kw): if (not self.image or self.image.name == 'alias-default.png') and self.remote_image : try : data …

4
Django ORMのselect_relatedとprefetch_relatedの違いは何ですか?
Djangoドキュメントでは、 select_related() 外部キーの関係を「フォロー」し、クエリの実行時に追加の関連オブジェクトデータを選択します。 prefetch_related() 関係ごとに別々のルックアップを行い、Pythonで「結合」を行います。 「Pythonで参加する」とはどういう意味ですか?誰かが例で説明できますか? 私の理解では、外部キーの関係にはを使用しselect_relatedます。M2M関係の場合はを使用しますprefetch_related。これは正しいです?

13
Django auto_nowおよびauto_now_add
Django 1.1の場合。 これは私のmodels.pyにあります: class User(models.Model): created = models.DateTimeField(auto_now_add=True) modified = models.DateTimeField(auto_now=True) 行を更新すると、次のようになります。 [Sun Nov 15 02:18:12 2009] [error] /home/ptarjan/projects/twitter-meme/django/db/backends/mysql/base.py:84: Warning: Column 'created' cannot be null [Sun Nov 15 02:18:12 2009] [error] return self.cursor.execute(query, args) 私のデータベースの関連部分は: `created` datetime NOT NULL, `modified` datetime NOT NULL, これは心配の種ですか? 副次的な質問:私の管理ツールでは、これらの2つのフィールドが表示されません。それは予想されますか?


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