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

Djangoは、Pythonで記述された、オープンソースのサーバー側Webアプリケーションフレームワークです。複雑なデータ駆動型のWebサイトとWebアプリケーションを作成するのに必要な労力を軽減するように設計されており、特にコードの削減、冗長性の排除、暗黙よりも明示的であることに重点を置いています。

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モデルには「自己」がないように見えるため、問題があります。 …

5
すでに実行中のタスクをセロリでキャンセルしますか?
私はドキュメントを読んで検索してきましたが、正解を見つけることができないようです: すでに実行中のタスクをキャンセルできますか?(タスクが開始したように、しばらくかかり、途中でキャンセルする必要があります) Celery FAQのドキュメントからこれを見つけました >>> result = add.apply_async(args=[2, 2], countdown=120) >>> result.revoke() しかし、これがキューに入れられたタスクをキャンセルするのか、それともワーカーで実行中のプロセスを強制終了するのかは不明です。あなたが当てることができる光をありがとう!

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 …

1
Python NameError:名前 'include'が定義されていません[クローズ]
閉まっている。この質問にはデバッグの詳細が必要です。現在、回答を受け付けていません。 この質問を改善したいですか?質問を更新して、StackOverflowのトピックになります。 4年前に閉鎖されました。 この質問を改善する 私は現在、フレームワークDjangoを使用してWebサイトを開発しています(私は非常に初心者です)が、Pythonに問題があります:テンプレートを作成したため、この理由でサーバーを実行できなくなりました(スタックトレースはファイルurls.pyの行): <stacktrace> ... path('apppath/', include('myapp.urls')), NameError: name 'include' is not defined どこincludeからインポートできますか?

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 評価は整数です


2
多対多のリスト表示django
class PurchaseOrder(models.Model): product = models.ManyToManyField('Product') vendor = models.ForeignKey('VendorProfile') dollar_amount = models.FloatField(verbose_name='Price') class Product(models.Model): products = models.CharField(max_length=256) def __unicode__(self): return self.products 私はそのコードを持っています。残念ながら、エラーはadmin.pyにありますManyToManyField class PurchaseOrderAdmin(admin.ModelAdmin): fields = ['product', 'dollar_amount'] list_display = ('product', 'vendor') エラーは次のように述べています。 'PurchaseOrderAdmin.list_display [0]'、 'product'はサポートされていないManyToManyFieldです。 ただし、を取り出すとコンパイル'product'されlist_displayます。では、エラー'product'をlist_display出さずに表示するにはどうすればよいですか? 編集:たぶん、より良い質問は、あなたが表示されない方法だろうManyToManyFieldにlist_display?

2
PyPy、Django、PostgreSQLを連携させるにはどうすればよいですか?
PyPy、Django、PostgreSQLをうまく連携させるには、どのフォークまたはパッケージの組み合わせを使用すればよいですか? PyPyとDjangoがうまく連携していることは知っていますが、PyPyとPostgreSQLについてはあまり確信が持てません。Alex Gaynorがpypy-postgresqlと呼ばれるPyPyのフォークを作成したことはわかります。また、一部の人々がpsycopg2-ctypesを使用していることも知っています。 これらのフォークの間に違いはありますか?または、安定した1.9 PyPyを使用し、psycopg2-ctypesを使用する必要がありますか?ctypesオプションを使用すると、パフォーマンスが低下する可能性があります。以下のコメントを参照してください。 また、pyscopg2でPyPyを使用するときに落とし穴を経験した人はいますか?何かが正しく機能しない場合は、CPythonにフォールバックするのは簡単なようですが、ほとんどの場合、プログラマが事前に準備できることを探しています。 周りを見回したところ、psycopg2がPyPyでネイティブに機能しているようには見えません。一部の人にはpsycopg2-ctypesが機能しているようですが、pypy-devについての議論がありました。私はWindowsで作業していますが、残念ながらpsycopg2-ctypesはまだWindowsの準備ができていません。

3
データベースからdjangoモデルを生成することは可能ですか?
私は自宅でDjangoとDjango ORMをいじくり回してきましたが、使いやすさの点で最も優れていると感じています。 しかし、「リバース」で使えるのかと思っていました。 基本的に私がやりたいのは、既存のデータベーススキーマから(Djangoを使用せず、かなり古いプロジェクトから)Djangoモデルを生成することです。 これは可能ですか? 更新:問題のデータベースはOracleです
90 database  django  oracle  orm 

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クロール」の防止、複数のサーバーを使用した競合しないオブジェクトの作成、...

10
djangoシェルでモジュールをリロードする方法は?
私はDjangoを使用しており、常にDjangoシェルを使用しています。厄介なのは、Djangoサーバーはコードの変更時にリロードしますが、シェルはリロードしないため、テストしているメソッドに変更を加えるたびに、シェルを終了して再起動し、すべてのモジュールを再インポートする必要があります。必要、必要なすべての変数を再初期化するなど。iPythonの履歴により、これに関する入力の多くが節約されますが、これは依然として苦痛です。django開発サーバーと同じように、djangoシェルを自動リロードする方法はありますか? 私はreload()について知っていますが、多くのモデルをインポートし、通常はfrom app.models import *構文を使用するため、reload()はあまり役に立ちません。
90 python  django  ipython 

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つのトランザクションですべてのオブジェクトを保存するにはどうすればよいですか?

5
DjangoQuerySetをパンダDataFrameに変換する
DataFrame次のように、DjangoQuerySetをパンダに変換します。 qs = SomeModel.objects.select_related().filter(date__year=2012) q = qs.values('date', 'OtherField') df = pd.DataFrame.from_records(q) それは機能しますが、より効率的な方法はありますか?
90 python  django  pandas 

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