class DummyOFAggregate(models.Model): adv_rspec = models.XMLField() resv_rspec = models.XMLField(null=True, blank=True) def snapshot_switches(self): self.adv_rspec = gapi.ListResources({}, None) self.adv_rspec = self.adv_rspec.replace( rspec.OPENFLOW_GAPI_RSC_URN_PREFIX, OTHER_PREFIX) self.save()
class FieldsWithOptionsModel(models.Model): # any type of unique (unique_data, ...) is not supported on GAE, instead you # can use primary_key=True for some special cases. But be carefull: changing # the primary_key of an entity will not result in an updated entity, # instead a new entity will be putted into the datastore. The old one will # not be deleted and all references pointing to the old entitiy will not # point to the new one either datetime = models.DateTimeField(auto_now=True, db_column="birthday") date = models.DateField(auto_now_add=True) time = models.TimeField() floating_point = models.FloatField(null=True) boolean = models.BooleanField() null_boolean = models.NullBooleanField(default=True) text = models.CharField(default='Hallo', max_length=10) email = models.EmailField(default='*****@*****.**', primary_key=True) comma_seperated_integer = models.CommaSeparatedIntegerField(max_length=10) ip_address = models.IPAddressField(default="192.168.0.2") slug = models.SlugField(default="GAGAA", null=True) url = models.URLField(default='http://www.scholardocs.com') # file = FileField() # file_path = FilePathField() long_text = models.TextField(default=1000 * 'A') xml = models.XMLField(default=2000 * 'B') integer = models.IntegerField(default=100) small_integer = models.SmallIntegerField(default=-5) positiv_integer = models.PositiveIntegerField(default=80) positiv_small_integer = models.PositiveSmallIntegerField(default=3, null=True) foreign_key = models.ForeignKey('OrderedModel', null=True, related_name='keys')
class C(models.Model): "all with akas" c001 = models.AutoField(primary_key=True, aka='xxx') c002 = models.BooleanField(aka='xxx') c003 = models.CharField(maxlength='256', aka='xxx') c004 = models.CommaSeparatedIntegerField(maxlength='256', aka='xxx') c005 = models.DateField(aka='xxx') c006 = models.DateTimeField(aka='xxx') if deseb.version == 'trunk': c007 = models.DecimalField(decimal_places=5, max_digits=10, aka='xxx') # not in v0.96 c008 = models.EmailField(aka='xxx') c010 = models.FileField(upload_to='/tmp', aka='xxx') c011 = models.FilePathField(aka='xxx') if deseb.version == '0.96': c012 = models.FloatField(aka='xxx', decimal_places=5, max_digits=10) # for v0.96 else: c012 = models.FloatField(aka='xxx') c013 = models.IPAddressField(aka='xxx') c014 = models.ImageField(upload_to='/tmp', aka='xxx') c015 = models.IntegerField(aka='xxx') c016 = models.NullBooleanField(aka='xxx') # c017 = models.OrderingField(maxlength='256') c018 = models.PhoneNumberField(aka='xxx') c019 = models.PositiveIntegerField(aka='xxx') c020 = models.PositiveSmallIntegerField(aka='xxx') c021 = models.SlugField(aka='xxx') c022 = models.SmallIntegerField(aka='xxx') c023 = models.TextField(aka='xxx') c024 = models.TimeField(aka='xxx') c025 = models.URLField(aka='xxx') c026 = models.USStateField(aka='xxx') c027 = models.XMLField(aka='xxx')
class Verse(models.Model): #பா author = models.ForeignKey(Author, null=True, blank=True, verbose_name='ஆசிரியர்', related_name='verses') publishing_date = models.DateTimeField(null=True, auto_now_add=True, verbose_name='பதிப்பு_நேரம்') revision_date = models.DateTimeField(null=True, auto_now=True, verbose_name='திருத்தப்பட்ட நேரம்') verse_text = models.TextField(verbose_name='பா_செய்யுள்') parsing_status = models.CharField(max_length=2, choices=PARSING_STATUS_OPTIONS, default='N', verbose_name='பகுப்பாய்வு_குறிப்பு') result = models.XMLField(blank=True, verbose_name='முடிவுகள்') def __unicode__(self): return self.verse_text[:15] + '...' def save(self, *args, **kwargs): result = tamil_parser.analyzeVerse(self.verse_text.replace('\r', '\n')) if result is None: self.result = '' self.parsing_status = 'E' else: self.result = result self.parsing_status = 'Y' super(Verse, self).save(args, kwargs)
class TestModelWithFallback2(models.Model): title = models.CharField(ugettext_lazy('title'), max_length=255) text = models.TextField(blank=True, null=True) url = models.URLField(verify_exists=False, blank=True, null=True) email = models.EmailField(blank=True, null=True) xml = models.XMLField(blank=True, null=True) fk = models.ForeignKey(RelatedModel, blank=True, null=True) o2o = models.OneToOneField(RelatedModel, blank=True, null=True) m2m = models.ManyToManyField(RelatedModel, blank=True, null=True)
class FieldsWithoutOptionsModel(models.Model): datetime = models.DateTimeField() date = models.DateField() time = models.TimeField() floating_point = models.FloatField() boolean = models.BooleanField() null_boolean = models.NullBooleanField() text = models.CharField(max_length=32) email = models.EmailField() comma_seperated_integer = models.CommaSeparatedIntegerField(max_length=10) ip_address = models.IPAddressField() slug = models.SlugField() url = models.URLField() # file = models.FileField() # file_path = models.FilePathField() long_text = models.TextField() indexed_text = models.TextField() xml = models.XMLField() integer = models.IntegerField() small_integer = models.SmallIntegerField() positiv_integer = models.PositiveIntegerField() positiv_small_integer = models.PositiveSmallIntegerField()
class OneOfEverything(models.Model): bool_test = models.BooleanField() char_test = models.CharField(max_length=10) comma_test = models.CommaSeparatedIntegerField(max_length=10) date_test = models.DateField() date_time_test = models.DateTimeField() decimal_test = models.DecimalField(decimal_places=2, max_digits=4) email_test = models.EmailField() file_test = models.FileField(upload_to='.') file_path_test = models.FilePathField() float_test = models.FloatField() image_test = models.ImageField(upload_to='.') int_test = models.IntegerField() ip_test = models.IPAddressField() null_bool_test = models.NullBooleanField() pos_int_test = models.PositiveIntegerField() pos_sm_int_test = models.PositiveSmallIntegerField() slug_test = models.SlugField() sm_int_test = models.SmallIntegerField() text_test = models.TextField() time_test = models.TimeField() url_test = models.URLField() xml_test = models.XMLField()
class TestingModel(models.Model): MAX_LENGTH = 255 MAX_DIGITS = 10 DECIMAL_PLACES = 5 CHOICES = ( ('1', 'First'), ('2', 'Second'), ) LOCAL_FOLDER = "." big_field = models.BigIntegerField() boolean_field = models.BooleanField() char_field = models.CharField(max_length=MAX_LENGTH) choice_field = models.CharField(max_length=1, choices=CHOICES) commaseparated_field = models.CommaSeparatedIntegerField( max_length=MAX_LENGTH) date_field = models.DateField() datetime_field = models.DateTimeField() decimal_field = models.DecimalField(max_digits=MAX_DIGITS, decimal_places=DECIMAL_PLACES) email_field = models.EmailField() file_field = models.FileField(upload_to=LOCAL_FOLDER) filepath_field = models.FilePathField(path=LOCAL_FOLDER) float_field = models.FloatField() if _isPILInstalled(): image_field = models.ImageField(upload_to=LOCAL_FOLDER) integer_field = models.IntegerField() ipaddress_field = models.IPAddressField() nullboolean_field = models.NullBooleanField() positive_field = models.PositiveIntegerField() positivesmall_field = models.PositiveSmallIntegerField() slug_field = models.SlugField() small_field = models.SmallIntegerField() text_field = models.TextField() url_field = models.URLField() xml_field = models.XMLField(schema_path=LOCAL_FOLDER)
class TestModelWithFallback2(models.Model): title = models.CharField(ugettext_lazy('title'), max_length=255) text = models.TextField(blank=True, null=True) url = models.URLField(verify_exists=False, blank=True, null=True) email = models.EmailField(blank=True, null=True) xml = models.XMLField(blank=True, null=True)
class XMLData(models.Model): data = models.XMLField(null=True)
class Package(models.Model): # The package can be identified # 1. by its pspec.xml (parsed later) OR # 2. by parsing the pspec.xml and then storing the elements in db pspec = models.XMLField(schema_path='')
class Restaurant(models.Model): geometry = models.XMLField(schema_path='geometry.ng')
class PlanetLabAggregate(GENIAggregate): information = \ """ A PlanetLab Aggregate exposed through the GENI API. """ rspec = models.XMLField("RSpec", editable=False,) class Meta: verbose_name = "PlanetLab GENI-API Aggregate" def __unicode__(self): return u"PlanetLab GENI-API Aggregate at %s" % self.url def _to_rspec(self, slice): """ See L{GENIAggregate._to_rspec}. """ # get all the reserved nodes reserved = PlanetLabNode.objects.filter( aggregate__pk=self.pk, slice_set=slice) # Get the ids of all reserved nodes node_ids = reserved.values_list("node_id", flat=True) rspec = "%s" % self.rspec # parse the rspec root = et.fromstring(rspec) # get a mapping from node id to node elem (since this version of # elementtree doesn't have XPath working well. node_elems = root.findall(".//node") node_dict = {} for node_elem in node_elems: id = node_elem.get("id", None) if id: node_dict[id] = node_elem # for each node_id in the reservation, find the corresponding # node_elem and add a sliver tag. for node_id in node_ids: node_elem = node_dict[node_id] et.SubElement(node_elem, "sliver") logger.debug("Sending PlanetLab Reservation RSpec:\n%s" % et.tostring(root)) return et.tostring(root) def _from_rspec(self, rspec): """ See L{GENIAggregate._from_rspec}. """ root = et.fromstring(rspec) # get all planet lab nodes in the rspec. node_elems = root.findall(".//node") active_node_pks = [] for elem in node_elems: node_id = elem.get("id", None) hostname = elem.findtext(".//hostname") # TODO: not interested if there's no node id and hostname if node_id and hostname: # Create/update a matching node. Put it in this aggregate. node, created = create_or_update( PlanetLabNode, filter_attrs=dict(name=hostname), new_attrs=dict(node_id=node_id, aggregate=self) ) active_node_pks.append(node.pk) logger.debug("Found node id %s name %s - created: %s" % ( node_id, hostname, created)) # make disappeared nodes unavailable # we filter by aggregate so we don't make a node unavailable # if it has moved to another aggregate. PlanetLabNode.objects.filter( aggregate__pk=self.pk).exclude(pk__in=active_node_pks).update( available=False, status_change_timestamp=datetime.now()) # save the RSpec self.rspec = rspec self.save()