Hi again,
Can someone point me on how to create a MonitorData Inline tabulator
form with a schemata data in django admin for the Component model?
Thanks in advance,
Jordi
--------------------------------
admin.py-------------------------------------
class MonitorDataInlineAdmin(admin.TabularInline):
#form = MonitorDataForm
model = MonitorData
fk_name = "component"
extra = 1
class ComponentAdmin(admin.ModelAdmin):
inlines = [MonitorDataInlineAdmin]
admin.site.register(Component, ComponentAdmin)
--------------------------------
model.py-------------------------------------
# django
from django.db import models
from django.contrib.contenttypes.models import ContentType
from django.contrib.contenttypes import generic
from django.utils.translation import ugettext_lazy as _
# eav
from eav.models import BaseChoice, BaseEntity, BaseSchema,
BaseAttribute
class Item(models.Model):
title = models.CharField(max_length=50)
def __unicode__(self):
return self.title
class Component(models.Model):
title = models.CharField(max_length=50)
item = models.ForeignKey(Item, blank=True, null=True)
def __unicode__(self):
return self.title
class MonitorData(BaseEntity):
title = models.CharField(max_length=50)
component = models.ForeignKey(Component, blank=True, null=True)
@classmethod
def get_schemata_for_model(cls):
return Schema.objects.all()
def get_schemata_for_instance(self, schemata):
if self.component:
return schemata.filter(items__in =
[
self.component.item.id])
return []
def __unicode__(self):
return self.title
class Schema(BaseSchema):
#item = models.ForeignKey(Item, blank=True, null=True)
items = models.ManyToManyField(Item, blank=True, null=True)
class Choice(BaseChoice):
schema = models.ForeignKey(Schema, related_name='choices')
class Attr(BaseAttribute):
schema = models.ForeignKey(Schema, related_name='attrs')
choice = models.ForeignKey(Choice, blank=True, null=True)