Djangoのmodelsセクション
2912 ワード
概要
modelsは、データベース・テーブルを作成するために使用されます.作成後、次のコマンドを実行してデータを移行します.
フィールド
一つのモデルの構造は大体次の通りです.
このうち
djangoには豊富なフィールドがあります.
djangoのドキュメントでは、より具体的な内容「Model field reference|Django documentation|Django」を参照できます.
パラメータ
上記の例の
これらはただの例ですが、より多くの説明はドキュメントを参照してください.filed optionsセクション「Models|Django documentation|Django」
表間関係
データ・テーブル間には、次の関係があります.
作成上は以前とあまり変わらないので、例を挙げます.
データ操作
管理
対応するフォルダの
xxx objectsが表示されている場合は、データの理解を容易にすることができます.
まとめ
djangoのドキュメントはとてもそろっていて、上も私自身の学習上の整理にすぎません.
参照先:
Django documentation | Django documentation | Django
Djangoでのページ管理バックグラウンド
modelsは、データベース・テーブルを作成するために使用されます.作成後、次のコマンドを実行してデータを移行します.
python manage.py makemigrations
python manage.py migrate
フィールド
一つのモデルの構造は大体次の通りです.
from django.db import models
class test(models.Model):
a1 = models.AutoField(primary_key=True)
a2 = models.CharField(max_length=100)
このうち
AutoField
CharField
は、データベースに格納されているデータのタイプを定義するフィールドです.djangoには豊富なフィールドがあります.
IP URL UUID
種類以上のサポートdjangoのドキュメントでは、より具体的な内容「Model field reference|Django documentation|Django」を参照できます.
パラメータ
上記の例の
primary_key=True
max_length=100
は、フィールドを制限するパラメータである.1.null=True
2.blank=True django admin
3.YEAR_IN_SCHOOL_CHOICES = (
('FR', 'Freshman'),
('SO', 'Sophomore'),
('JR', 'Junior'),
('SR', 'Senior'),
('GR', 'Graduate'),
)
example = models.CharField(choice = YEAR_IN_SCHOOL_CHOICES)
4.default = 0 0
5.primary_key = True
6.unique = True
これらはただの例ですが、より多くの説明はドキュメントを参照してください.filed optionsセクション「Models|Django documentation|Django」
表間関係
データ・テーブル間には、次の関係があります.
:models.ForeignKey( )
:models.ManyToManyField( )
:models.ManyToManyField( )
作成上は以前とあまり変わらないので、例を挙げます.
class people(models.Model):
name = models.CharField(max_length=100)
age = models.models.IntegerField()
class boy(models.Model):
n = models.ForeignKey(people)
データ操作
from .models import *
#
people.objects.get_or_create(name="1")
#
people.objects.all().delete()
#
people.objects.filter(name="1").update(name="2")
#
people.objects.get(name="1") #
people.objects.filter(name="1") # , ( )
#
a = people.objects.filter(name="1")
len(a)
people.objects.filter(name="1").count()
#
people.objects.filter(age__range=[0,100])
#
people.objects.filter(name__contains="1")
#
people.objects.all().order_by('-age') # ,
#
startswith istartswith endswith iendswith
管理
対応するフォルダの
admin.py
でコンテンツを編集すると、管理インタフェースでデータを管理できます.from django.contrib import admin
# Register your models here.
from import models
admin.site.register(models.people)
xxx objectsが表示されている場合は、データの理解を容易にすることができます.
class test(models.Model):
#python2
def __unicode__(self):
return self.name
#python3
def __str__(self):
return self.name
まとめ
djangoのドキュメントはとてもそろっていて、上も私自身の学習上の整理にすぎません.
参照先:
Django documentation | Django documentation | Django
Djangoでのページ管理バックグラウンド