Pythonモデルの使い方

coldplay.xixi
リリース: 2020-08-25 11:55:16
オリジナル
9424 人が閲覧しました

Python モデルの使用法は次のとおりです: 1. モデルが追加され、コードは [book=Book(title="hello go")] です; 2. モデルは削除され、コードは [book= Book.objects.get (id=1)、book.delete()]。

Pythonモデルの使い方

[関連する学習の推奨事項: Python チュートリアル]

Python モデルの使用法は次のとおりです:

1. 最初はデータベース構成です

一般に、新しい Django プロジェクトは次のとおりです。データベースとして sqlite 用に構成されています

通常、プロジェクトでは MySQL が使用されます

最初に構成を変更します

プロジェクトの settings.py で構成を変更します

元の設定 sqlite を独自の属性に変更します

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'USER':'root',
        'PASSWORD':'',
        'NAME':'djangouse',
        'HOST':'localhost',
    }
}
ログイン後にコピー

USER MySQL のユーザー名を入力します

PASSWORD MySQL のパスワードを入力します

NAME使用するデータベースの名前を入力します。これは MySQL で自分で作成する必要があります。

注: モデルを使用する前に、忘れずに MySQL を開いてください

2。コマンド ラインは変更されました。新しいバージョンの django のロット

以下はモデルに関する主なコマンドです

#python manage.py check モデルにスペルミスがあるかどうかを確認します

python manage.py makemigrations モデルの変更に対応する移行ファイルを生成します

python manage.py merge マイグレーションを実行します

通常はアプリとデータベースを作成した後

最初に実行します

python manage.py migrate
ログイン後にコピー

いくつかの管理テーブルを生成します

3. 次に、新しいモデルを作成します

最初にモデル パッケージをインポートします

追加

from django.db import models
ログイン後にコピー
class Book(models.Model):
    title=models.CharField(max_length=100)
    def __unicode__(self):
        return self.title
ログイン後にコピー

をアプリの models.py に送信します。モデルには、最大長 100

unicode のタイトル フィールドがあります。このメソッドは、オブジェクトがクエリされたときに表示されるコンテンツを返します。デフォルトの表示は Object

です。

と、順番に実行されます

python manage.py check  检查model是否有拼写错误
python manage.py makemigrations 将model的改变生成一个迁移文件
python manage.py migrate 执行迁移
ログイン後にコピー

その後、使用されたデータベースにクエリを実行すると、book

4 を含む名前の追加テーブルがあることがわかります。モデルの追加、削除、確認、修正

#add

book=Book(title="hello django")
book.save()
ログイン後にコピー

Delete

book=Book.objects.get(id=1)
book.delete()
ログイン後にコピー

ID 1

# のオブジェクトを取得後、delete メソッドを実行##Check

book=Book.objects.all()
ログイン後にコピー

すべての Book オブジェクトをクエリしてコレクションを返す

book=Book.objects.get(id=1)
ログイン後にコピー

ID 1 の Book オブジェクトを取得する

book=Book.objects.filter(title__icontains="hello")
ログイン後にコピー

タイトルに hello を含む Book オブジェクトのコレクションを取得するfield

Change

book=Book.objects.get(id=1)
book.title="django"
book.save()
ログイン後にコピー

5. 次のモデルの高度な使用法 - manager

manager は、model

# のいくつかの一般的なメソッドをカプセル化したものです。 ##値を取得するメソッドもあれば、オブジェクトのコレクションを取得するメソッドもあります

##取得した値を見てみる マネージャーの作成方法

##モデルから継承した新しいクラスを作成します。アプリの model.py のマネージャー

class BookManager(models.Manager):
    def get_book_count(self,keyword):
        return self.filter(title__icontains=keyword).count()
ログイン後にコピー

次に、マネージャーをモデルに追加します

class Book(models.Model):
    title=models.CharField(max_length=100)
    myobjects=BookManager()
ログイン後にコピー

Yes を使用する場合

count=Book.myobjects.get_book_count("hello")
ログイン後にコピー

これは、名前に book が含まれるオブジェクトの数を返します

特別な条件を持つオブジェクトのコレクションを取得したい場合はどうすればよいでしょうか?

新しいマネージャーを作成します

class PythonManager(models.Manager):
    def get_query_set(self):
        return super(PythonManager,self).get_query_set().filter(title__icontaions='hello')
ログイン後にコピー

マネージャーをモデルに追加します

class Book(models.Model):
    title=models.CharField(max_length=100)
    myobjects=BookManager()
    pyhton_objects=PythonManager()
ログイン後にコピー

使用すると、

queryset=Book.pyhton_objects.get_query_set()
ログイン後にコピー

これは Book オブジェクトのコレクションを返します名前に hello

6 が含まれています。次のステップは、バックグラウンド ページを使用してモデルを管理することです

まず、ターミナルに

python manage.py createsuperuser
ログイン後にコピー
と入力します。

以上がPythonモデルの使い方の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート