我已经完成了tutorial的工作,它显示了如何使用textX编写Java POJO。
我正在考虑将其改编为编写Django模型类。
问题是我必须将自定义模型方法添加到Django模型类中。
然后如果我随后更改DSL,则生成的模型类肯定会删除自定义模型方法。
如果使用textX生成Django模型类,如何满足自定义模型方法的需要?
答案 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。