开发者

Use of meta class in django

Can someone please e开发者_Go百科xplain why is meta class used in the following example.

Ex:

Class Employee (models.Model):
    name = models.ForeignKey(name)
    Gender = models.IntegerField()


    class Meta:
        ordering = ["Gender"]

Thanks.


Django models use the Meta class to contain extra information about the model that would not necessarily be appropriate to contain within the model class itself. Note that this is not the same as Python's metaclass; that is a completely different topic.

In this case it ordering or sorting the queries to this model by field "Gender"


Because author/programmer wants to sort results by value of Gender field.


In this case it defines the default field for ordering if you don't provide ORDER_BY in your query.


It is explained in Django Documentation for Models

https://docs.djangoproject.com/en/dev/topics/db/models/

Give your model metadata by using an inner class Meta, like:

Class Employee (models.Model):
    ....

    class Meta:
        ordering = ["attribute-X"]

Another useful option can be used in class Meta is verbose_name.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜