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

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

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    django orm 如何在字段的默认值同步显示在表定义语言DDL中
    34
    0
    sqlalchemy 提供了 server_default 来实现标题中的功能,但是 Django 的 ORM 貌似没有提供类似的功能。class Bank(BaseModel): __tablename__ = 'bank' id = Column(Integer, primary_key=True) name = Column(String(255), unique=True, nullable=False) is_deleted = Column(BOOLEAN, default=0, server_default=text('0')) created_at = Column('created_at', TIMESTAMP, nullable=False, server_default=func.now()) deleted_at = Column('deleted_at', TIMESTAMP, nullable=False, server_default=text("'1970-01-01 00:00:01'"))通过互联网,我查询到有如下的解决方案:https://cloud.tencent.com/dev...我想知道有更优雅的解决方案吗?
    0
    打赏
    收藏
    点击回答
        全部回答
    • 0
    • 在Django ORM中,可以使用get_field_default_value()方法来获取字段的默认值,然后使用get_column_default_value()方法来获取表定义语言DDL中的默认值。以下是一个示例:

      ```python from django.db import models

      class MyModel(models.Model): field1 = models.CharField(max_length=255, default='default_value') field2 = models.IntegerField(default=0) ```

      在上面的示例中,field1field2MyModel的字段,default_value是它们的默认值。在表定义语言DDL中,default_value字段的值应该是default_value的字符串形式。

      例如,如果你想要在DDL中设置field1field2的默认值为字符串 'default_value1'0,你可以使用以下DDL:

      sql CREATE TABLE my_table ( id SERIAL PRIMARY KEY, field1 VARCHAR(255) DEFAULT 'default_value1', field2 INTEGER DEFAULT 0 );

      在这个示例中,field1field2的默认值是字符串 'default_value1'0

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部