class GroupMeta(Model): """ Arbitrary key/value store for Groups. Generally useful for things like storing metadata provided by plugins. """ group = models.ForeignKey(Group) key = models.CharField(max_length=64) value = models.TextField() objects = InstanceMetaManager('group') class Meta: unique_together = (('group', 'key'), )
class ProjectOption(Model): """ Project options apply only to an instance of a project. Options which are specific to a plugin should namespace their key. e.g. key='myplugin:optname' """ project = models.ForeignKey(Project) key = models.CharField(max_length=64) value = PickledObjectField() objects = InstanceMetaManager('project') class Meta: db_table = 'sentry_projectoptions' unique_together = (('project', 'key',),) __repr__ = sane_repr('project_id', 'key', 'value')
class ProjectOption(Model): """ Project options apply only to an instance of a project. Options which are specific to a plugin should namespace their key. e.g. key='myplugin:optname' """ project = models.ForeignKey(Project) key = models.CharField(max_length=64) value = PickledObjectField() objects = InstanceMetaManager('project') class Meta: db_table = 'sentry_projectoptions' unique_together = (('project', 'key',),) def __unicode__(self): return u'project=%s, key=%s, value=%s' % (self.project_id, self.key, self.value)
class GroupMeta(Model): """ Arbitrary key/value store for Groups. Generally useful for things like storing metadata provided by plugins. """ group = models.ForeignKey('sentry.Group') key = models.CharField(max_length=64) value = models.TextField() objects = InstanceMetaManager('group') class Meta: app_label = 'sentry' db_table = 'sentry_groupmeta' unique_together = (('group', 'key'), ) __repr__ = sane_repr('group_id', 'key', 'value')