账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    Django 中如何批量创建models? 如何抽象出这个类?
    22
    0

    一段代码如下

    from django.db import models
    table_name = "新闻"
    class Person(models.Model):
        class Meta:
            db_table = table_name
            app_label = table_name
        title = models.CharField("title", max_length=300)
        content = models.TextField("content", max_length=300)

    现在的需求是,我如何把这个方法抽象出来?
    意思就是说, 我直接给Person 这个类可以传入参数,然后在里面的class Meta中可以直接用

    我最早想到是这样

    class Person(models.Model):
        def __init__(self,table_name):
             self.table_name = table_name
        class Meta:
            db_table = self.table_name
            app_label = self.table_name
        title = models.CharField("title", max_length=300)
        content = models.TextField("content", max_length=300)

    但是失败了,不能直接传入参数? 这导致很不灵活,我如果有10个models要健 但是他们除了表名称不一样,其他都是一样~
    那这样不是很不灵活

    当然也可以把这些数据全部放在一张表里面,但是感觉考虑到后期的数据量以及查询效率的问题,还是想把表分开~

    0
    打赏
    收藏
    点击回答
        全部回答
    • 0
    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部