[英]What is stored in database for Dropdown Single Select Box? (Django)
I have the Dropdown Single Select Box "Month" with 3 options "January", "February" and "March" as shown below:我有下拉单选框“月” ,其中有3 个选项“一月”、“二月”和“三月” ,如下所示:
This is the code for the Dropdown Single Select Box "Month" in "Date" class below:这是下面“日期”类中下拉单选框“月份”的代码:
# "store/models.py"
from django.db import models
class Date(models.Model):
class Months(models.TextChoices):
JANUARY = 'JAN', 'January'
FEBRUARY = 'FEB', 'February'
MARCH = 'MAR', 'March'
month = models.CharField(max_length=100, choices=Months.choices)
And, this is the old version code for the Dropdown Single Select Box "Month" in "Date" class below which is equivalent to the above code:而且,这是下面“日期”类中下拉单选框“月份”的旧版本代码,相当于上面的代码:
# "store/models.py"
from django.db import models
class Date(models.Model):
JANUARY = 'JAN'
FEBRUARY = 'FEB'
MARCH = 'MAR'
MANTHS = [
(JANUARY, 'January'),
(FEBRUARY, 'February'),
(MARCH, 'March')
]
month = models.CharField(max_length=100, choices=MANTHS)
Now, if I choose "February" and click on "SAVE" , what is stored in database?现在,如果我选择“二月”并单击“保存” ,数据库中存储了什么? "FEBRUARY" ? “二月” ? "FEB" ? “二月” ? or "February" ?还是“二月” ?
"FEB" is stored in database. “FEB”存储在数据库中。 Actually as shown below, "FEBRUARY" is just a variable and "FEB" is the value stored in DB(Database) and "February" is the option displayed in the Dropdown Single Select Box "Month" on "Add date" page of Django Admin(GUI) :实际上如下所示, “FEBRUARY”只是一个变量, “FEB”是存储在DB(数据库)中的值, “February”是Django “添加日期”页面的下拉单选框“月份”中显示的选项管理员(图形用户界面) :
# "store/models.py"
from django.db import models
class Date(models.Model):
class Months(models.TextChoices):
# |Variable| | DB | | Option |
JANUARY = 'JAN', 'January'
FEBRUARY = 'FEB', 'February'
MARCH = 'MAR', 'March'
month = models.CharField(max_length=100, choices=Months.choices)
For the old version code below:对于下面的旧版本代码:
# "store/models.py"
from django.db import models
class Date(models.Model):
# |Variable| | DB |
JANUARY = 'JAN'
FEBRUARY = 'FEB'
MARCH = 'MAR'
MANTHS = [
# |Variable| | Option |
(JANUARY, 'January'),
(FEBRUARY, 'February'),
(MARCH, 'March')
]
month = models.CharField(max_length=100, choices=MANTHS)
And as shown below, "FEB" is stored in database(SQLite)如下图所示, “FEB”存储在数据库(SQLite)中
In addition, by adding this code below to "Date" class :此外,通过将以下代码添加到“日期”类:
def __str__(self):
return self.month
You can check what is stored in database on "Select date to change" page of Django Admin(GUI) as shown below:您可以在Django Admin(GUI)的“选择更改日期”页面上查看数据库中存储的内容,如下所示:
This is the full code below:这是下面的完整代码:
# "store/models.py"
from django.db import models
class Date(models.Model):
class Months(models.TextChoices):
# |Variable| | DB | | Option |
JANUARY = 'JAN', 'January'
FEBRUARY = 'FEB', 'February'
MARCH = 'MAR', 'March'
month = models.CharField(max_length=100, choices=Months.choices)
def __str__(self):
return self.month
And, this is the full code for the old version below:而且,这是下面旧版本的完整代码:
# "store/models.py"
from django.db import models
class Date(models.Model):
# |Variable| | DB |
JANUARY = 'JAN'
FEBRUARY = 'FEB'
MARCH = 'MAR'
MANTHS = [
# |Variable| | Option |
(JANUARY, 'January'),
(FEBRUARY, 'February'),
(MARCH, 'March')
]
month = models.CharField(max_length=100, choices=MANTHS)
def __str__(self):
return self.month
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.