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

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

6
Djangoモデルの主キーとしてUUIDを使用する(一般的な関係への影響)
いくつかの理由で^、いくつかのDjangoモデルで主キーとしてUUIDを使用したいと思います。そうする場合でも、ContentTypeを介してジェネリックリレーションを使用する「contrib.comments」、「django-voting」、「django-tagging」などの外部アプリを使用できますか? 例として「django-voting」を使用すると、投票モデルは次のようになります。 class Vote(models.Model): user = models.ForeignKey(User) content_type = models.ForeignKey(ContentType) object_id = models.PositiveIntegerField() object = generic.GenericForeignKey('content_type', 'object_id') vote = models.SmallIntegerField(choices=SCORES) このアプリは、投票されるモデルの主キーが整数であると想定しているようです。 ただし、組み込みのコメントアプリは、整数以外のPKを処理できるようです。 class BaseCommentAbstractModel(models.Model): content_type = models.ForeignKey(ContentType, verbose_name=_('content type'), related_name="content_type_set_for_%(class)s") object_pk = models.TextField(_('object ID')) content_object = generic.GenericForeignKey(ct_field="content_type", fk_field="object_pk") この「integer-PK-assumed」問題は、UUIDの使用を困難にするサードパーティアプリの一般的な状況ですか?または、おそらく、私はこの状況を誤解していますか? あまり問題を起こさずにDjangoの主キーとしてUUIDを使用する方法はありますか? ^いくつかの理由:オブジェクト数の非表示、URLの「IDクロール」の防止、複数のサーバーを使用した競合しないオブジェクトの作成、...

8
djangoでモデルオブジェクトを一括作成する
データベースに保存するオブジェクトがたくさんあるので、それを使ってモデルインスタンスを作成したいと思います。 djangoを使用すると、を使用してすべてのモデルインスタンスを作成できますMyModel(data)。次に、それらをすべて保存します。 現在、私はそのようなものを持っています: for item in items: object = MyModel(name=item.name) object.save() オブジェクトのリストを直接保存できるかどうか疑問に思っています。例: objects = [] for item in items: objects.append(MyModel(name=item.name)) objects.save_all() 1つのトランザクションですべてのオブジェクトを保存するにはどうすればよいですか?

4
Djangoフィルター多対多を含む
多対多の関係で多数のオブジェクトをフィルタリングしようとしています。trigger_rolesフィールドに複数のエントリが含まれている可能性があるため、containsフィルタを試しました。しかし、それは文字列で使用するように設計されているので、この関係をどのようにフィルタリングするかはほとんど無力です(values_list()atmは無視できます)。 この関数は、ユーザープロファイルに添付されています。 def getVisiblePackages(self): visiblePackages = {} for product in self.products.all(): moduleDict = {} for module in product.module_set.all(): pkgList = [] involvedStatus = module.workflow_set.filter(trigger_roles__contains=self.role.id,allowed=True).values_list('current_state', flat=True) 私のワークフローモデルは次のようになります(簡略化): class Workflow(models.Model): module = models.ForeignKey(Module) current_state = models.ForeignKey(Status) next_state = models.ForeignKey(Status) allowed = models.BooleanField(default=False) involved_roles = models.ManyToManyField(Role, blank=True, null=True) trigger_roles = models.ManyToManyField(Role, blank=True, null=True) …


5
models.pyをいくつかのファイルに分割します
models.pyアプリをいくつかのファイルに分割しようとしています。 私の最初の推測はこれを行うことでした: myproject/ settings.py manage.py urls.py __init__.py app1/ views.py __init__.py models/ __init__.py model1.py model2.py app2/ views.py __init__.py models/ __init__.py model3.py model4.py これは機能しません、そして私はこれを見つけました、しかしこの解決策で私はまだ問題を抱えています、私が走るときpython manage.py sqlall app1私は次のようなものを得ました: BEGIN; CREATE TABLE "product_product" ( "id" serial NOT NULL PRIMARY KEY, "store_id" integer NOT NULL ) ; -- The following references should be added but …

5
Djangoシグナルとsaveメソッドのオーバーライド
これに頭を巻くのに苦労しています。現在、次のようなモデルがいくつかあります。 def Review(models.Model) ...fields... overall_score = models.FloatField(blank=True) def Score(models.Model) review = models.ForeignKey(Review) question = models.TextField() grade = models.IntegerField() レビューにはいくつかの「スコア」があり、overall_scoreはスコアの平均です。レビューまたはスコアが保存されたら、overall_score平均を再計算する必要があります。現在、オーバーライドされた保存メソッドを使用しています。Djangoのシグナルディスパッチャーを使用することに何かメリットはありますか?


5
Django ModelForm:save(commit = False)は何に使用されますか?
サブクラスsave(commit=False)からフォームオブジェクトを作成してModelForm実行する代わりにis_valid()、フォームとモデルの両方を検証するために使用するのはなぜですか? 言い換えれば、何のsave(commit=False)ためですか? よろしければ、これが役立つと思われる架空の状況を提供していただけませんか。

9
関連するすべてのDjangoモデルオブジェクトを取得します
オブジェクトを指すForeignKeyを持つすべてのモデルオブジェクトのリストを取得するにはどうすればよいですか?(DELETE CASCADEの前のDjango管理者の削除確認ページのようなもの)。 データベース内の重複オブジェクトをマージする一般的な方法を考え出そうとしています。基本的に、ForeignKeysがオブジェクト「B」を指すすべてのオブジェクトを更新してオブジェクト「A」を指すようにし、重要なものを失うことなく「B」を削除できるようにします。 ご協力いただきありがとうございます!

13
Djangoの一意のBooleanField値?
私のmodels.pyが次のようなものだとします。 class Character(models.Model): name = models.CharField(max_length=255) is_the_chosen_one = models.BooleanField() 私は自分のCharacterインスタンスの1つだけを持ちis_the_chosen_one == True、他のすべてのインスタンスは持っていたいですis_the_chosen_one == False。この一意性の制約が尊重されるようにするにはどうすればよいですか? データベース、モデル、および(管理)フォームレベルでの制約を尊重することの重要性を考慮した回答のトップマーク!

6
django抽象モデルと通常の継承
構文に加えて、django抽象モデルを使用することとdjangoモデルでプレーンなPython継承を使用することの違いは何ですか?長所と短所? 更新:私の質問は誤解されていたと思います。抽象モデルとdjango.db.models.Modelから継承したクラスの違いについての回答を受け取りました。 私は実際に、django抽象クラス(Meta:abstract = True)から継承するモデルクラスと、たとえば「object」(models.Modelではなく)から継承するプレーンPythonクラスの違いを知りたいと思っています。 次に例を示します。 class User(object): first_name = models.CharField(.. def get_username(self): return self.username class User(models.Model): first_name = models.CharField(... def get_username(self): return self.username class Meta: abstract = True class Employee(User): title = models.CharField(...

4
Djangoの「max_length」の最大サイズはいくつですか?
これは私のモデルです: class Position(models.Model): map = models.ForeignKey(Map,primary_key=True) #members=models.CharField(max_length=200) LatLng = models.CharField(max_length=40000) infowindow = models.CharField(max_length=40000) しかし、それは実行できません。max_lengthパラメータの最大サイズはいくつですか?

2
TypeError: 'RelatedManager'オブジェクトは反復可能ではありません
Django 次のモデルがあります: class Group(models.Model): name = models.CharField(max_length=100) parent_group = models.ManyToManyField("self", blank=True) def __unicode__(self): return self.name class Block(models.Model): name = models.CharField(max_length=100) app = models.CharField(max_length=100) group = models.ForeignKey(Group) def __unicode__(self): return self.name たとえば、ブロックb1にはg1グループがあります。その名前で、グループg1からすべてのブロックを取得したいと思います。私は次の再帰関数を書きました: def get_blocks(group): def get_needed_blocks(group): for block in group.block_set: blocks.append(block) if group.parent_group is not None: get_needed_blocks(group.parent_group) blocks = [] get_needed_blocks(group) …

7
djangosyncdbと更新されたモデル
最近モデルを更新し、それにBooleanFieldを追加しましたが、更新しても、モデルpython manage.py syncdbのデータベースに新しいフィールドが追加されません。どうすればこれを修正できますか?


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