如何使用自定义方法将Java POJO生成器用于Django模型?

时间:2018-12-28 08:01:15

标签: django textx

我已经完成了tutorial的工作,它显示了如何使用textX编写Java POJO。

我正在考虑将其改编为编写Django模型类。

问题是我必须将自定义模型方法添加到Django模型类中。

然后如果我随后更改DSL,则生成的模型类肯定会删除自定义模型方法。

如果使用textX生成Django模型类,如何满足自定义模型方法的需要?

1 个答案:

答案 0 :(得分:1)

好吧,您可以使用差异/合并工具来合并现有代码和新生成的代码,但这肯定需要手动干预才能解决最终的合并冲突。

FWIW,手动编写模型类不会比使用DSL编写模型类花费更多的时间(我略微更改了DSL版本,以解决数据库特定的需求,例如charfields length):

entity Person {
  name : string(128)       
  address: Address   
  age: integer      
}

vs     从django.db导入模型

class Person(models.Model):
    name = models.CharField(max_length=128)
    address = models.ForeignKey(Address)
    age = models.IntegerField()

所以我真的不认为您在这里的代码生成会有所帮助。

注意:如果您的问题是从现有的数据库模式生成{boostrap“模型代码,则Django already knows how to do this不需要DSL。