简体   繁体   English

下拉单选框的数据库中存储了什么? (姜戈)

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM