在Django中是否有相当于ModelMixin
的导轨?我希望我的所有模型默认都有一个uuid字段。我是否需要在每个迁移文件中添加它?
一旦我在表中有了字段,获得uuid字段的最佳方法是什么?现在我正在使用一个问题,但我想知道扩展ActiveRecord::Base
是否更好并且拥有所有模型而不是在每个模型中声明include Uuid
?
module Uuid
extend ActiveSupport::Concern
included do
before_validation :add_uuid, on: :create
end
protected
def add_uuid
self.uuid = SecureRandom.uuid
end
end
答案 0 :(得分:0)
是的,如果要在每个模型中包含该字段,除非您要构建自定义迁移生成器,否则必须将其添加到每个迁移中。至于扩展ActiveRecord :: Base,我会做什么,因为它会出现在每个模型中。你见过这个吗? http://blog.arkency.com/2014/10/how-to-start-using-uuid-in-activerecord-with-postgresql/