# This is an auto-generated Django models.py file.
# It was made by armada_sde's pg_load_sde which has special
# seasoning for importing the SDE dumps generated for postgresql.
# Generated 2018-10-12T21:11:49.764818+00:00, version 0.3.0
from __future__ import unicode_literals
from django.db import models


class AgtAgentType(models.Model):
    agent_type_id = models.IntegerField(
        db_column='agentTypeID', primary_key=True)
    agent_type = models.CharField(
        db_column='agentType',
        max_length=50,
        blank=True,
        null=True)

    @staticmethod
    def get_pk_field():
        return 'agent_type_id'

    @staticmethod
    def get_name_field():
        return None

    class Meta(object):
        managed = False
        verbose_name = 'Agt Agent Types'
        db_table = 'sde_agtAgentTypes'


class AgtAgent(models.Model):
    agent_id = models.IntegerField(db_column='agentID', primary_key=True)
    division = models.ForeignKey(
        'CrpNPCDivision',
        on_delete=models.DO_NOTHING,
        db_column='divisionID',
        blank=True,
        null=True)
    corporation = models.ForeignKey(
        'CrpNPCCorporation',
        on_delete=models.DO_NOTHING,
        db_column='corporationID',
        blank=True,
        null=True)
    location = models.ForeignKey(
        'MapDenormalize',
        on_delete=models.DO_NOTHING,
        db_column='locationID',
        blank=True,
        null=True)
    level = models.IntegerField(blank=True, null=True)
    quality = models.IntegerField(blank=True, null=True)
    agent_type = models.ForeignKey(
        'AgtAgentType',
        on_delete=models.DO_NOTHING,
        db_column='agentTypeID',
        blank=True,
        null=True)
    is_locator = models.NullBooleanField(db_column='isLocator')

    @staticmethod
    def get_pk_field():
        return 'agent_id'

    @staticmethod
    def get_name_field():
        return None

    class Meta(object):
        managed = False
        verbose_name = 'Agt Agents'
        db_table = 'sde_agtAgents'


class AgtResearchAgent(models.Model):
    agent_id = models.IntegerField(db_column='agentID', primary_key=True)
    type = models.ForeignKey(
        'InvType',
        on_delete=models.DO_NOTHING,
        db_column='typeID')

    @staticmethod
    def get_pk_field():
        return 'agent_id'

    @staticmethod
    def get_name_field():
        return None

    class Meta(object):
        managed = False
        verbose_name = 'Agt Research Agents'
        db_table = 'sde_agtResearchAgents'
        unique_together = (('agent_id', 'type'),)


class CertCert(models.Model):
    cert_id = models.IntegerField(db_column='certID', primary_key=True)
    description = models.TextField(blank=True, null=True)
    group = models.ForeignKey(
        'InvGroup',
        on_delete=models.DO_NOTHING,
        db_column='groupID',
        blank=True,
        null=True)
    name = models.CharField(max_length=255, blank=True, null=True)

    @staticmethod
    def get_pk_field():
        return 'cert_id'

    @staticmethod
    def get_name_field():
        return None

    class Meta(object):
        managed = False
        verbose_name = 'Cert Certs'
        db_table = 'sde_certCerts'


class CertMastery(models.Model):
    type = models.ForeignKey(
        'InvType',
        on_delete=models.DO_NOTHING,
        db_column='typeID',
        blank=True,
        null=True)
    mastery_level = models.IntegerField(
        db_column='masteryLevel', blank=True, null=True)
    cert = models.ForeignKey(
        'CertCert',
        on_delete=models.DO_NOTHING,
        db_column='certID',
        blank=True,
        null=True)

    @staticmethod
    def get_pk_field():
        return 'id'

    # Autogenerated substitute primary key
    id = models.IntegerField(primary_key=True)

    @staticmethod
    def get_name_field():
        return None

    class Meta(object):
        managed = False
        verbose_name = 'Cert Masteries'
        db_table = 'sde_certMasteries'


class CertSkill(models.Model):
    cert = models.ForeignKey(
        'CertCert',
        on_delete=models.DO_NOTHING,
        db_column='certID',
        blank=True,
        null=True)
    skill_id = models.IntegerField(db_column='skillID', blank=True, null=True)
    cert_level_int = models.IntegerField(
        db_column='certLevelInt', blank=True, null=True)
    skill_level = models.IntegerField(
        db_column='skillLevel', blank=True, null=True)
    cert_level_text = models.CharField(
        db_column='certLevelText',
        max_length=8,
        blank=True,
        null=True)

    @staticmethod
    def get_pk_field():
        return 'id'

    # Autogenerated substitute primary key
    id = models.IntegerField(primary_key=True)

    @staticmethod
    def get_name_field():
        return None

    class Meta(object):
        managed = False
        verbose_name = 'Cert Skills'
        db_table = 'sde_certSkills'


class ChrAncestry(models.Model):
    ancestry_id = models.IntegerField(db_column='ancestryID', primary_key=True)
    ancestry_name = models.CharField(
        db_column='ancestryName',
        max_length=100,
        blank=True,
        null=True)
    bloodline = models.ForeignKey(
        'ChrBloodline',
        on_delete=models.DO_NOTHING,
        db_column='bloodlineID',
        blank=True,
        null=True)
    description = models.CharField(max_length=1000, blank=True, null=True)
    perception = models.IntegerField(blank=True, null=True)
    willpower = models.IntegerField(blank=True, null=True)
    charisma = models.IntegerField(blank=True, null=True)
    memory = models.IntegerField(blank=True, null=True)
    intelligence = models.IntegerField(blank=True, null=True)
    icon_id = models.IntegerField(db_column='iconID', blank=True, null=True)
    short_description = models.CharField(
        db_column='shortDescription',
        max_length=500,
        blank=True,
        null=True)

    @staticmethod
    def get_pk_field():
        return 'ancestry_id'

    def __str__(self):
        return self.ancestry_name

    @staticmethod
    def get_name_field():
        return 'ancestry_name'

    class Meta(object):
        managed = False
        verbose_name = 'Chr Ancestries'
        db_table = 'sde_chrAncestries'


class ChrAttribute(models.Model):
    attribute_id = models.IntegerField(
        db_column='attributeID', primary_key=True)
    attribute_name = models.CharField(
        db_column='attributeName',
        max_length=100,
        blank=True,
        null=True)
    description = models.CharField(max_length=1000, blank=True, null=True)
    icon = models.ForeignKey(
        'EveIcon',
        on_delete=models.DO_NOTHING,
        db_column='iconID',
        blank=True,
        null=True)
    short_description = models.CharField(
        db_column='shortDescription',
        max_length=500,
        blank=True,
        null=True)
    notes = models.CharField(max_length=500, blank=True, null=True)

    @staticmethod
    def get_pk_field():
        return 'attribute_id'

    def __str__(self):
        return self.attribute_name

    @staticmethod
    def get_name_field():
        return 'attribute_name'

    class Meta(object):
        managed = False
        verbose_name = 'Chr Attributes'
        db_table = 'sde_chrAttributes'


class ChrBloodline(models.Model):
    bloodline_id = models.IntegerField(
        db_column='bloodlineID', primary_key=True)
    bloodline_name = models.CharField(
        db_column='bloodlineName',
        max_length=100,
        blank=True,
        null=True)
    race = models.ForeignKey(
        'ChrRace',
        on_delete=models.DO_NOTHING,
        db_column='raceID',
        blank=True,
        null=True)
    description = models.CharField(max_length=1000, blank=True, null=True)
    male_description = models.CharField(
        db_column='maleDescription',
        max_length=1000,
        blank=True,
        null=True)
    female_description = models.CharField(
        db_column='femaleDescription',
        max_length=1000,
        blank=True,
        null=True)
    ship_type_id = models.IntegerField(
        db_column='shipTypeID', blank=True, null=True)
    corporation = models.ForeignKey(
        'CrpNPCCorporation',
        on_delete=models.DO_NOTHING,
        db_column='corporationID',
        blank=True,
        null=True)
    perception = models.IntegerField(blank=True, null=True)
    willpower = models.IntegerField(blank=True, null=True)
    charisma = models.IntegerField(blank=True, null=True)
    memory = models.IntegerField(blank=True, null=True)
    intelligence = models.IntegerField(blank=True, null=True)
    icon = models.ForeignKey(
        'EveIcon',
        on_delete=models.DO_NOTHING,
        db_column='iconID',
        blank=True,
        null=True)
    short_description = models.CharField(
        db_column='shortDescription',
        max_length=500,
        blank=True,
        null=True)
    short_male_description = models.CharField(
        db_column='shortMaleDescription',
        max_length=500,
        blank=True,
        null=True)
    short_female_description = models.CharField(
        db_column='shortFemaleDescription',
        max_length=500, blank=True,
        null=True)

    @staticmethod
    def get_pk_field():
        return 'bloodline_id'

    def __str__(self):
        return self.bloodline_name

    @staticmethod
    def get_name_field():
        return 'bloodline_name'

    class Meta(object):
        managed = False
        verbose_name = 'Chr Bloodlines'
        db_table = 'sde_chrBloodlines'


class ChrFaction(models.Model):
    faction_id = models.IntegerField(db_column='factionID', primary_key=True)
    faction_name = models.CharField(
        db_column='factionName',
        max_length=100,
        blank=True,
        null=True)
    description = models.CharField(max_length=1000, blank=True, null=True)
    race_ids = models.IntegerField(db_column='raceIDs', blank=True, null=True)
    solar_system = models.ForeignKey(
        'MapSolarSystem', on_delete=models.DO_NOTHING,
        db_column='solarSystemID', blank=True, null=True)
    corporation_id = models.IntegerField(
        db_column='corporationID', blank=True, null=True)
    size_factor = models.FloatField(
        db_column='sizeFactor', blank=True, null=True)
    station_count = models.IntegerField(
        db_column='stationCount', blank=True, null=True)
    station_system_count = models.IntegerField(
        db_column='stationSystemCount', blank=True, null=True)
    militia_corporation_id = models.IntegerField(
        db_column='militiaCorporationID', blank=True, null=True)
    icon = models.ForeignKey(
        'EveIcon',
        on_delete=models.DO_NOTHING,
        db_column='iconID',
        blank=True,
        null=True)

    @staticmethod
    def get_pk_field():
        return 'faction_id'

    def __str__(self):
        return self.faction_name

    @staticmethod
    def get_name_field():
        return 'faction_name'

    class Meta(object):
        managed = False
        verbose_name = 'Chr Factions'
        db_table = 'sde_chrFactions'


class ChrRace(models.Model):
    race_id = models.IntegerField(db_column='raceID', primary_key=True)
    race_name = models.CharField(
        db_column='raceName',
        max_length=100,
        blank=True,
        null=True)
    description = models.CharField(max_length=1000, blank=True, null=True)
    icon = models.ForeignKey(
        'EveIcon',
        on_delete=models.DO_NOTHING,
        db_column='iconID',
        blank=True,
        null=True)
    short_description = models.CharField(
        db_column='shortDescription',
        max_length=500,
        blank=True,
        null=True)

    @staticmethod
    def get_pk_field():
        return 'race_id'

    def __str__(self):
        return self.race_name

    @staticmethod
    def get_name_field():
        return 'race_name'

    class Meta(object):
        managed = False
        verbose_name = 'Chr Races'
        db_table = 'sde_chrRaces'


class CrpActivity(models.Model):
    activity_id = models.IntegerField(db_column='activityID', primary_key=True)
    activity_name = models.CharField(
        db_column='activityName',
        max_length=100,
        blank=True,
        null=True)
    description = models.CharField(max_length=1000, blank=True, null=True)

    @staticmethod
    def get_pk_field():
        return 'activity_id'

    def __str__(self):
        return self.activity_name

    @staticmethod
    def get_name_field():
        return 'activity_name'

    class Meta(object):
        managed = False
        verbose_name = 'Crp Activities'
        db_table = 'sde_crpActivities'


class CrpNPCCorporationDivision(models.Model):
    corporation_id = models.IntegerField(
        db_column='corporationID', primary_key=True)
    division = models.ForeignKey(
        'CrpNPCDivision',
        on_delete=models.DO_NOTHING,
        db_column='divisionID')
    size = models.IntegerField(blank=True, null=True)

    @staticmethod
    def get_pk_field():
        return 'corporation_id'

    @staticmethod
    def get_name_field():
        return None

    class Meta(object):
        managed = False
        verbose_name = 'Crp Npccorporation Divisions'
        db_table = 'sde_crpNPCCorporationDivisions'
        unique_together = (('corporation_id', 'division'),)


class CrpNPCCorporationResearchField(models.Model):
    skill_id = models.IntegerField(db_column='skillID', primary_key=True)
    corporation = models.ForeignKey(
        'CrpNPCCorporation',
        on_delete=models.DO_NOTHING,
        db_column='corporationID')

    @staticmethod
    def get_pk_field():
        return 'skill_id'

    @staticmethod
    def get_name_field():
        return None

    class Meta(object):
        managed = False
        verbose_name = 'Crp Npccorporation Research Fields'
        db_table = 'sde_crpNPCCorporationResearchFields'
        unique_together = (('skill_id', 'corporation'),)


class CrpNPCCorporationTrade(models.Model):
    corporation_id = models.IntegerField(
        db_column='corporationID', primary_key=True)
    type = models.ForeignKey(
        'InvType',
        on_delete=models.DO_NOTHING,
        db_column='typeID')

    @staticmethod
    def get_pk_field():
        return 'corporation_id'

    @staticmethod
    def get_name_field():
        return None

    class Meta(object):
        managed = False
        verbose_name = 'Crp Npccorporation Trades'
        db_table = 'sde_crpNPCCorporationTrades'
        unique_together = (('corporation_id', 'type'),)


class CrpNPCCorporation(models.Model):
    corporation_id = models.IntegerField(
        db_column='corporationID', primary_key=True)
    size = models.CharField(max_length=1, blank=True, null=True)
    extent = models.CharField(max_length=1, blank=True, null=True)
    solar_system_id = models.IntegerField(
        db_column='solarSystemID', blank=True, null=True)
    investor_id1 = models.IntegerField(
        db_column='investorID1', blank=True, null=True)
    investor_shares1 = models.IntegerField(
        db_column='investorShares1', blank=True, null=True)
    investor_id2 = models.IntegerField(
        db_column='investorID2', blank=True, null=True)
    investor_shares2 = models.IntegerField(
        db_column='investorShares2', blank=True, null=True)
    investor_id3 = models.IntegerField(
        db_column='investorID3', blank=True, null=True)
    investor_shares3 = models.IntegerField(
        db_column='investorShares3', blank=True, null=True)
    investor_id4 = models.IntegerField(
        db_column='investorID4', blank=True, null=True)
    investor_shares4 = models.IntegerField(
        db_column='investorShares4', blank=True, null=True)
    friend_id = models.IntegerField(
        db_column='friendID', blank=True, null=True)
    enemy_id = models.IntegerField(db_column='enemyID', blank=True, null=True)
    public_shares = models.IntegerField(
        db_column='publicShares', blank=True, null=True)
    initial_price = models.IntegerField(
        db_column='initialPrice', blank=True, null=True)
    min_security = models.FloatField(
        db_column='minSecurity', blank=True, null=True)
    scattered = models.NullBooleanField()
    fringe = models.IntegerField(blank=True, null=True)
    corridor = models.IntegerField(blank=True, null=True)
    hub = models.IntegerField(blank=True, null=True)
    border = models.IntegerField(blank=True, null=True)
    faction = models.ForeignKey(
        'ChrFaction',
        on_delete=models.DO_NOTHING,
        db_column='factionID',
        blank=True,
        null=True)
    size_factor = models.FloatField(
        db_column='sizeFactor', blank=True, null=True)
    station_count = models.IntegerField(
        db_column='stationCount', blank=True, null=True)
    station_system_count = models.IntegerField(
        db_column='stationSystemCount', blank=True, null=True)
    description = models.CharField(max_length=4000, blank=True, null=True)
    icon = models.ForeignKey(
        'EveIcon',
        on_delete=models.DO_NOTHING,
        db_column='iconID',
        blank=True,
        null=True)

    @staticmethod
    def get_pk_field():
        return 'corporation_id'

    @staticmethod
    def get_name_field():
        return None

    class Meta(object):
        managed = False
        verbose_name = 'Crp Npccorporations'
        db_table = 'sde_crpNPCCorporations'


class CrpNPCDivision(models.Model):
    division_id = models.IntegerField(db_column='divisionID', primary_key=True)
    division_name = models.CharField(
        db_column='divisionName',
        max_length=100,
        blank=True,
        null=True)
    description = models.CharField(max_length=1000, blank=True, null=True)
    leader_type = models.CharField(
        db_column='leaderType',
        max_length=100,
        blank=True,
        null=True)

    @staticmethod
    def get_pk_field():
        return 'division_id'

    @staticmethod
    def get_name_field():
        return None

    class Meta(object):
        managed = False
        verbose_name = 'Crp Npcdivisions'
        db_table = 'sde_crpNPCDivisions'


class DgmAttributeCategory(models.Model):
    category_id = models.IntegerField(db_column='categoryID', primary_key=True)
    category_name = models.CharField(
        db_column='categoryName',
        max_length=50,
        blank=True,
        null=True)
    category_description = models.CharField(
        db_column='categoryDescription',
        max_length=200,
        blank=True,
        null=True)

    @staticmethod
    def get_pk_field():
        return 'category_id'

    @staticmethod
    def get_name_field():
        return None

    class Meta(object):
        managed = False
        verbose_name = 'Dgm Attribute Categories'
        db_table = 'sde_dgmAttributeCategories'


class DgmAttributeType(models.Model):
    attribute_id = models.IntegerField(
        db_column='attributeID', primary_key=True)
    attribute_name = models.CharField(
        db_column='attributeName',
        max_length=100,
        blank=True,
        null=True)
    description = models.CharField(max_length=1000, blank=True, null=True)
    icon = models.ForeignKey(
        'EveIcon',
        on_delete=models.DO_NOTHING,
        db_column='iconID',
        blank=True,
        null=True)
    default_value = models.FloatField(
        db_column='defaultValue', blank=True, null=True)
    published = models.NullBooleanField()
    display_name = models.CharField(
        db_column='displayName',
        max_length=150,
        blank=True,
        null=True)
    unit = models.ForeignKey(
        'EveUnit',
        on_delete=models.DO_NOTHING,
        db_column='unitID',
        blank=True,
        null=True)
    stackable = models.NullBooleanField()
    high_is_good = models.NullBooleanField(db_column='highIsGood')
    category_id = models.IntegerField(
        db_column='categoryID', blank=True, null=True)

    @staticmethod
    def get_pk_field():
        return 'attribute_id'

    @staticmethod
    def get_name_field():
        return None

    class Meta(object):
        managed = False
        verbose_name = 'Dgm Attribute Types'
        db_table = 'sde_dgmAttributeTypes'


class DgmEffect(models.Model):
    effect_id = models.IntegerField(db_column='effectID', primary_key=True)
    effect_name = models.CharField(
        db_column='effectName',
        max_length=400,
        blank=True,
        null=True)
    effect_category = models.IntegerField(
        db_column='effectCategory', blank=True, null=True)
    pre_expression = models.IntegerField(
        db_column='preExpression', blank=True, null=True)
    post_expression = models.IntegerField(
        db_column='postExpression', blank=True, null=True)
    description = models.CharField(max_length=1000, blank=True, null=True)
    guid = models.CharField(max_length=60, blank=True, null=True)
    icon = models.ForeignKey(
        'EveIcon',
        on_delete=models.DO_NOTHING,
        db_column='iconID',
        blank=True,
        null=True)
    is_offensive = models.NullBooleanField(db_column='isOffensive')
    is_assistance = models.NullBooleanField(db_column='isAssistance')
    duration_attribute_id = models.IntegerField(
        db_column='durationAttributeID', blank=True, null=True)
    tracking_speed_attribute_id = models.IntegerField(
        db_column='trackingSpeedAttributeID', blank=True, null=True)
    discharge_attribute_id = models.IntegerField(
        db_column='dischargeAttributeID', blank=True, null=True)
    range_attribute_id = models.IntegerField(
        db_column='rangeAttributeID', blank=True, null=True)
    falloff_attribute_id = models.IntegerField(
        db_column='falloffAttributeID', blank=True, null=True)
    disallow_auto_repeat = models.NullBooleanField(
        db_column='disallowAutoRepeat')
    published = models.NullBooleanField()
    display_name = models.CharField(
        db_column='displayName',
        max_length=100,
        blank=True,
        null=True)
    is_warp_safe = models.NullBooleanField(db_column='isWarpSafe')
    range_chance = models.NullBooleanField(db_column='rangeChance')
    electronic_chance = models.NullBooleanField(db_column='electronicChance')
    propulsion_chance = models.NullBooleanField(db_column='propulsionChance')
    distribution = models.IntegerField(blank=True, null=True)
    sfx_name = models.CharField(
        db_column='sfxName',
        max_length=20,
        blank=True,
        null=True)
    npc_usage_chance_attribute_id = models.IntegerField(
        db_column='npcUsageChanceAttributeID', blank=True, null=True)
    npc_activation_chance_attribute_id = models.IntegerField(
        db_column='npcActivationChanceAttributeID', blank=True, null=True)
    fitting_usage_chance_attribute_id = models.IntegerField(
        db_column='fittingUsageChanceAttributeID', blank=True, null=True)
    modifier_info = models.TextField(
        db_column='modifierInfo', blank=True, null=True)

    @staticmethod
    def get_pk_field():
        return 'effect_id'

    def __str__(self):
        return self.effect_name

    @staticmethod
    def get_name_field():
        return 'effect_name'

    class Meta(object):
        managed = False
        verbose_name = 'Dgm Effects'
        db_table = 'sde_dgmEffects'


class DgmExpression(models.Model):
    expression_id = models.IntegerField(
        db_column='expressionID', primary_key=True)
    operand_id = models.IntegerField(
        db_column='operandID', blank=True, null=True)
    arg1 = models.IntegerField(blank=True, null=True)
    arg2 = models.IntegerField(blank=True, null=True)
    expression_value = models.CharField(
        db_column='expressionValue',
        max_length=100,
        blank=True,
        null=True)
    description = models.CharField(max_length=1000, blank=True, null=True)
    expression_name = models.CharField(
        db_column='expressionName',
        max_length=500,
        blank=True,
        null=True)
    expression_type_id = models.IntegerField(
        db_column='expressionTypeID', blank=True, null=True)
    expression_group_id = models.IntegerField(
        db_column='expressionGroupID', blank=True, null=True)
    expression_attribute_id = models.IntegerField(
        db_column='expressionAttributeID', blank=True, null=True)

    @staticmethod
    def get_pk_field():
        return 'expression_id'

    def __str__(self):
        return self.expression_name

    @staticmethod
    def get_name_field():
        return 'expression_name'

    class Meta(object):
        managed = False
        verbose_name = 'Dgm Expressions'
        db_table = 'sde_dgmExpressions'


class DgmTypeAttribute(models.Model):
    type_id = models.IntegerField(db_column='typeID', primary_key=True)
    attribute = models.ForeignKey(
        'DgmAttributeType',
        on_delete=models.DO_NOTHING,
        db_column='attributeID')
    value_int = models.IntegerField(
        db_column='valueInt', blank=True, null=True)
    value_float = models.FloatField(
        db_column='valueFloat', blank=True, null=True)

    @staticmethod
    def get_pk_field():
        return 'type_id'

    @staticmethod
    def get_name_field():
        return None

    class Meta(object):
        managed = False
        verbose_name = 'Dgm Type Attributes'
        db_table = 'sde_dgmTypeAttributes'
        unique_together = (('type_id', 'attribute'),)


class DgmTypeEffect(models.Model):
    type_id = models.IntegerField(db_column='typeID', primary_key=True)
    effect = models.ForeignKey(
        'DgmEffect',
        on_delete=models.DO_NOTHING,
        db_column='effectID')
    is_default = models.NullBooleanField(db_column='isDefault')

    @staticmethod
    def get_pk_field():
        return 'type_id'

    @staticmethod
    def get_name_field():
        return None

    class Meta(object):
        managed = False
        verbose_name = 'Dgm Type Effects'
        db_table = 'sde_dgmTypeEffects'
        unique_together = (('type_id', 'effect'),)


class EveGraphic(models.Model):
    graphic_id = models.IntegerField(db_column='graphicID', primary_key=True)
    sof_faction_name = models.CharField(
        db_column='sofFactionName',
        max_length=100,
        blank=True,
        null=True)
    graphic_file = models.CharField(
        db_column='graphicFile',
        max_length=100,
        blank=True,
        null=True)
    sof_hull_name = models.CharField(
        db_column='sofHullName',
        max_length=100,
        blank=True,
        null=True)
    sof_race_name = models.CharField(
        db_column='sofRaceName',
        max_length=100,
        blank=True,
        null=True)
    description = models.TextField(blank=True, null=True)

    @staticmethod
    def get_pk_field():
        return 'graphic_id'

    @staticmethod
    def get_name_field():
        return None

    class Meta(object):
        managed = False
        verbose_name = 'Eve Graphics'
        db_table = 'sde_eveGraphics'


class EveIcon(models.Model):
    icon_id = models.IntegerField(db_column='iconID', primary_key=True)
    icon_file = models.CharField(
        db_column='iconFile',
        max_length=500,
        blank=True,
        null=True)
    description = models.TextField(blank=True, null=True)

    @staticmethod
    def get_pk_field():
        return 'icon_id'

    @staticmethod
    def get_name_field():
        return None

    class Meta(object):
        managed = False
        verbose_name = 'Eve Icons'
        db_table = 'sde_eveIcons'


class EveUnit(models.Model):
    unit_id = models.IntegerField(db_column='unitID', primary_key=True)
    unit_name = models.CharField(
        db_column='unitName',
        max_length=100,
        blank=True,
        null=True)
    display_name = models.CharField(
        db_column='displayName',
        max_length=50,
        blank=True,
        null=True)
    description = models.CharField(max_length=1000, blank=True, null=True)

    @staticmethod
    def get_pk_field():
        return 'unit_id'

    def __str__(self):
        return self.unit_name

    @staticmethod
    def get_name_field():
        return 'unit_name'

    class Meta(object):
        managed = False
        verbose_name = 'Eve Units'
        db_table = 'sde_eveUnits'


class IndustryActivity(models.Model):
    type_id = models.IntegerField(db_column='typeID', primary_key=True)
    activity = models.ForeignKey(
        'RamActivity',
        on_delete=models.DO_NOTHING,
        db_column='activityID')
    time = models.IntegerField(blank=True, null=True)

    @staticmethod
    def get_pk_field():
        return 'type_id'

    @staticmethod
    def get_name_field():
        return None

    class Meta(object):
        managed = False
        verbose_name = 'Industry Activity'
        db_table = 'sde_industryActivity'
        unique_together = (('type_id', 'activity'),)


class IndustryActivityMaterial(models.Model):
    type_id = models.IntegerField(db_column='typeID', blank=True, null=True)
    activity = models.ForeignKey(
        'RamActivity',
        on_delete=models.DO_NOTHING,
        db_column='activityID',
        blank=True,
        null=True)
    material_type_id = models.IntegerField(
        db_column='materialTypeID', blank=True, null=True)
    quantity = models.IntegerField(blank=True, null=True)

    @staticmethod
    def get_pk_field():
        return 'id'

    # Autogenerated substitute primary key
    id = models.IntegerField(primary_key=True)

    @staticmethod
    def get_name_field():
        return None

    class Meta(object):
        managed = False
        verbose_name = 'Industry Activity Materials'
        db_table = 'sde_industryActivityMaterials'


class IndustryActivityProbability(models.Model):
    type_id = models.IntegerField(db_column='typeID', blank=True, null=True)
    activity = models.ForeignKey(
        'RamActivity',
        on_delete=models.DO_NOTHING,
        db_column='activityID',
        blank=True,
        null=True)
    product_type_id = models.IntegerField(
        db_column='productTypeID', blank=True, null=True)
    probability = models.DecimalField(
        max_digits=3, decimal_places=2, blank=True, null=True)

    @staticmethod
    def get_pk_field():
        return 'id'

    # Autogenerated substitute primary key
    id = models.IntegerField(primary_key=True)

    @staticmethod
    def get_name_field():
        return None

    class Meta(object):
        managed = False
        verbose_name = 'Industry Activity Probabilities'
        db_table = 'sde_industryActivityProbabilities'


class IndustryActivityProduct(models.Model):
    type_id = models.IntegerField(db_column='typeID', blank=True, null=True)
    activity = models.ForeignKey(
        'RamActivity',
        on_delete=models.DO_NOTHING,
        db_column='activityID',
        blank=True,
        null=True)
    product_type_id = models.IntegerField(
        db_column='productTypeID', blank=True, null=True)
    quantity = models.IntegerField(blank=True, null=True)

    @staticmethod
    def get_pk_field():
        return 'id'

    # Autogenerated substitute primary key
    id = models.IntegerField(primary_key=True)

    @staticmethod
    def get_name_field():
        return None

    class Meta(object):
        managed = False
        verbose_name = 'Industry Activity Products'
        db_table = 'sde_industryActivityProducts'


class IndustryActivityRace(models.Model):
    type = models.ForeignKey(
        'InvType',
        on_delete=models.DO_NOTHING,
        db_column='typeID',
        blank=True,
        null=True)
    activity = models.ForeignKey(
        'RamActivity',
        on_delete=models.DO_NOTHING,
        db_column='activityID',
        blank=True,
        null=True)
    product_type_id = models.IntegerField(
        db_column='productTypeID', blank=True, null=True)
    race = models.ForeignKey(
        'ChrRace',
        on_delete=models.DO_NOTHING,
        db_column='raceID',
        blank=True,
        null=True)

    @staticmethod
    def get_pk_field():
        return 'id'

    # Autogenerated substitute primary key
    id = models.IntegerField(primary_key=True)

    @staticmethod
    def get_name_field():
        return None

    class Meta(object):
        managed = False
        verbose_name = 'Industry Activity Races'
        db_table = 'sde_industryActivityRaces'


class IndustryActivitySkill(models.Model):
    type_id = models.IntegerField(db_column='typeID', blank=True, null=True)
    activity = models.ForeignKey(
        'RamActivity',
        on_delete=models.DO_NOTHING,
        db_column='activityID',
        blank=True,
        null=True)
    skill_id = models.IntegerField(db_column='skillID', blank=True, null=True)
    level = models.IntegerField(blank=True, null=True)

    @staticmethod
    def get_pk_field():
        return 'id'

    # Autogenerated substitute primary key
    id = models.IntegerField(primary_key=True)

    @staticmethod
    def get_name_field():
        return None

    class Meta(object):
        managed = False
        verbose_name = 'Industry Activity Skills'
        db_table = 'sde_industryActivitySkills'


class IndustryBlueprint(models.Model):
    type_id = models.IntegerField(db_column='typeID', primary_key=True)
    max_production_limit = models.IntegerField(
        db_column='maxProductionLimit', blank=True, null=True)

    @staticmethod
    def get_pk_field():
        return 'type_id'

    @staticmethod
    def get_name_field():
        return None

    class Meta(object):
        managed = False
        verbose_name = 'Industry Blueprints'
        db_table = 'sde_industryBlueprints'


class InvCategory(models.Model):
    category_id = models.IntegerField(db_column='categoryID', primary_key=True)
    category_name = models.CharField(
        db_column='categoryName',
        max_length=100,
        blank=True,
        null=True)
    icon = models.ForeignKey(
        'EveIcon',
        on_delete=models.DO_NOTHING,
        db_column='iconID',
        blank=True,
        null=True)
    published = models.NullBooleanField()

    @staticmethod
    def get_pk_field():
        return 'category_id'

    def __str__(self):
        return self.category_name

    @staticmethod
    def get_name_field():
        return 'category_name'

    class Meta(object):
        managed = False
        verbose_name = 'Inv Categories'
        db_table = 'sde_invCategories'


class InvContrabandType(models.Model):
    faction_id = models.IntegerField(db_column='factionID', primary_key=True)
    type = models.ForeignKey(
        'InvType',
        on_delete=models.DO_NOTHING,
        db_column='typeID')
    standing_loss = models.FloatField(
        db_column='standingLoss', blank=True, null=True)
    confiscate_min_sec = models.FloatField(
        db_column='confiscateMinSec', blank=True, null=True)
    fine_by_value = models.FloatField(
        db_column='fineByValue', blank=True, null=True)
    attack_min_sec = models.FloatField(
        db_column='attackMinSec', blank=True, null=True)

    @staticmethod
    def get_pk_field():
        return 'faction_id'

    @staticmethod
    def get_name_field():
        return None

    class Meta(object):
        managed = False
        verbose_name = 'Inv Contraband Types'
        db_table = 'sde_invContrabandTypes'
        unique_together = (('faction_id', 'type'),)


class InvControlTowerResourcePurpose(models.Model):
    purpose = models.IntegerField(primary_key=True)
    purpose_text = models.CharField(
        db_column='purposeText',
        max_length=100,
        blank=True,
        null=True)

    @staticmethod
    def get_pk_field():
        return 'purpose'

    @staticmethod
    def get_name_field():
        return None

    class Meta(object):
        managed = False
        verbose_name = 'Inv Control Tower Resource Purposes'
        db_table = 'sde_invControlTowerResourcePurposes'


class InvControlTowerResource(models.Model):
    control_tower_type_id = models.IntegerField(
        db_column='controlTowerTypeID', primary_key=True)
    resource_type_id = models.IntegerField(db_column='resourceTypeID')
    purpose = models.ForeignKey(
        'InvControlTowerResourcePurpose',
        on_delete=models.DO_NOTHING,
        db_column='purpose',
        blank=True,
        null=True)
    quantity = models.IntegerField(blank=True, null=True)
    min_security_level = models.FloatField(
        db_column='minSecurityLevel', blank=True, null=True)
    faction = models.ForeignKey(
        'ChrFaction',
        on_delete=models.DO_NOTHING,
        db_column='factionID',
        blank=True,
        null=True)

    @staticmethod
    def get_pk_field():
        return 'control_tower_type_id'

    @staticmethod
    def get_name_field():
        return None

    class Meta(object):
        managed = False
        verbose_name = 'Inv Control Tower Resources'
        db_table = 'sde_invControlTowerResources'
        unique_together = (('control_tower_type_id', 'resource_type_id'),)


class InvFlag(models.Model):
    flag_id = models.IntegerField(db_column='flagID', primary_key=True)
    flag_name = models.CharField(
        db_column='flagName',
        max_length=200,
        blank=True,
        null=True)
    flag_text = models.CharField(
        db_column='flagText',
        max_length=100,
        blank=True,
        null=True)
    order_id = models.IntegerField(db_column='orderID', blank=True, null=True)

    @staticmethod
    def get_pk_field():
        return 'flag_id'

    def __str__(self):
        return self.flag_name

    @staticmethod
    def get_name_field():
        return 'flag_name'

    class Meta(object):
        managed = False
        verbose_name = 'Inv Flags'
        db_table = 'sde_invFlags'


class InvGroup(models.Model):
    group_id = models.IntegerField(db_column='groupID', primary_key=True)
    category = models.ForeignKey(
        'InvCategory',
        on_delete=models.DO_NOTHING,
        db_column='categoryID',
        blank=True,
        null=True)
    group_name = models.CharField(
        db_column='groupName',
        max_length=100,
        blank=True,
        null=True)
    icon = models.ForeignKey(
        'EveIcon',
        on_delete=models.DO_NOTHING,
        db_column='iconID',
        blank=True,
        null=True)
    use_base_price = models.NullBooleanField(db_column='useBasePrice')
    anchored = models.NullBooleanField()
    anchorable = models.NullBooleanField()
    fittable_non_singleton = models.NullBooleanField(
        db_column='fittableNonSingleton')
    published = models.NullBooleanField()

    @staticmethod
    def get_pk_field():
        return 'group_id'

    def __str__(self):
        return self.group_name

    @staticmethod
    def get_name_field():
        return 'group_name'

    class Meta(object):
        managed = False
        verbose_name = 'Inv Groups'
        db_table = 'sde_invGroups'


class InvItem(models.Model):
    item_id = models.IntegerField(db_column='itemID', primary_key=True)
    type_id = models.IntegerField(db_column='typeID')
    owner_id = models.IntegerField(db_column='ownerID')
    location_id = models.IntegerField(db_column='locationID')
    flag = models.ForeignKey(
        'InvFlag',
        on_delete=models.DO_NOTHING,
        db_column='flagID')
    quantity = models.IntegerField()

    @staticmethod
    def get_pk_field():
        return 'item_id'

    @staticmethod
    def get_name_field():
        return None

    class Meta(object):
        managed = False
        verbose_name = 'Inv Items'
        db_table = 'sde_invItems'


class InvMarketGroup(models.Model):
    market_group_id = models.IntegerField(
        db_column='marketGroupID', primary_key=True)
    parent_group_id = models.IntegerField(
        db_column='parentGroupID', blank=True, null=True)
    market_group_name = models.CharField(
        db_column='marketGroupName',
        max_length=100,
        blank=True,
        null=True)
    description = models.CharField(max_length=3000, blank=True, null=True)
    icon = models.ForeignKey(
        'EveIcon',
        on_delete=models.DO_NOTHING,
        db_column='iconID',
        blank=True,
        null=True)
    has_types = models.NullBooleanField(db_column='hasTypes')

    @staticmethod
    def get_pk_field():
        return 'market_group_id'

    def __str__(self):
        return self.market_group_name

    @staticmethod
    def get_name_field():
        return 'market_group_name'

    class Meta(object):
        managed = False
        verbose_name = 'Inv Market Groups'
        db_table = 'sde_invMarketGroups'


class InvMetaGroup(models.Model):
    meta_group_id = models.IntegerField(
        db_column='metaGroupID', primary_key=True)
    meta_group_name = models.CharField(
        db_column='metaGroupName',
        max_length=100,
        blank=True,
        null=True)
    description = models.CharField(max_length=1000, blank=True, null=True)
    icon = models.ForeignKey(
        'EveIcon',
        on_delete=models.DO_NOTHING,
        db_column='iconID',
        blank=True,
        null=True)

    @staticmethod
    def get_pk_field():
        return 'meta_group_id'

    def __str__(self):
        return self.meta_group_name

    @staticmethod
    def get_name_field():
        return 'meta_group_name'

    class Meta(object):
        managed = False
        verbose_name = 'Inv Meta Groups'
        db_table = 'sde_invMetaGroups'


class InvMetaType(models.Model):
    type_id = models.IntegerField(db_column='typeID', primary_key=True)
    parent_type_id = models.IntegerField(
        db_column='parentTypeID', blank=True, null=True)
    meta_group = models.ForeignKey(
        'InvMetaGroup',
        on_delete=models.DO_NOTHING,
        db_column='metaGroupID',
        blank=True,
        null=True)

    @staticmethod
    def get_pk_field():
        return 'type_id'

    @staticmethod
    def get_name_field():
        return None

    class Meta(object):
        managed = False
        verbose_name = 'Inv Meta Types'
        db_table = 'sde_invMetaTypes'


class InvName(models.Model):
    item_id = models.IntegerField(db_column='itemID', primary_key=True)
    item_name = models.CharField(db_column='itemName', max_length=200)

    @staticmethod
    def get_pk_field():
        return 'item_id'

    @staticmethod
    def get_name_field():
        return None

    class Meta(object):
        managed = False
        verbose_name = 'Inv Names'
        db_table = 'sde_invNames'


class InvPosition(models.Model):
    item_id = models.IntegerField(db_column='itemID', primary_key=True)
    x = models.FloatField()
    y = models.FloatField()
    z = models.FloatField()
    yaw = models.FloatField(blank=True, null=True)
    pitch = models.FloatField(blank=True, null=True)
    roll = models.FloatField(blank=True, null=True)

    @staticmethod
    def get_pk_field():
        return 'item_id'

    @staticmethod
    def get_name_field():
        return None

    class Meta(object):
        managed = False
        verbose_name = 'Inv Positions'
        db_table = 'sde_invPositions'


class InvTrait(models.Model):
    trait_id = models.AutoField(db_column='traitID', primary_key=True)
    type = models.ForeignKey(
        'InvType',
        on_delete=models.DO_NOTHING,
        db_column='typeID',
        blank=True,
        null=True)
    skill_id = models.IntegerField(db_column='skillID', blank=True, null=True)
    bonus = models.FloatField(blank=True, null=True)
    bonus_text = models.TextField(db_column='bonusText', blank=True, null=True)
    unit = models.ForeignKey(
        'EveUnit',
        on_delete=models.DO_NOTHING,
        db_column='unitID',
        blank=True,
        null=True)

    @staticmethod
    def get_pk_field():
        return 'trait_id'

    @staticmethod
    def get_name_field():
        return None

    class Meta(object):
        managed = False
        verbose_name = 'Inv Traits'
        db_table = 'sde_invTraits'


class InvTypeMaterial(models.Model):
    type_id = models.IntegerField(db_column='typeID', primary_key=True)
    material_type_id = models.IntegerField(db_column='materialTypeID')
    quantity = models.IntegerField()

    @staticmethod
    def get_pk_field():
        return 'type_id'

    @staticmethod
    def get_name_field():
        return None

    class Meta(object):
        managed = False
        verbose_name = 'Inv Type Materials'
        db_table = 'sde_invTypeMaterials'
        unique_together = (('type_id', 'material_type_id'),)


class InvTypeReaction(models.Model):
    reaction_type_id = models.IntegerField(
        db_column='reactionTypeID', primary_key=True)
    input = models.BooleanField()
    type = models.ForeignKey(
        'InvType',
        on_delete=models.DO_NOTHING,
        db_column='typeID')
    quantity = models.IntegerField(blank=True, null=True)

    @staticmethod
    def get_pk_field():
        return 'reaction_type_id'

    @staticmethod
    def get_name_field():
        return None

    class Meta(object):
        managed = False
        verbose_name = 'Inv Type Reactions'
        db_table = 'sde_invTypeReactions'
        unique_together = (('reaction_type_id', 'input', 'type'),)


class InvType(models.Model):
    type_id = models.IntegerField(db_column='typeID', primary_key=True)
    group = models.ForeignKey(
        'InvGroup',
        on_delete=models.DO_NOTHING,
        db_column='groupID',
        blank=True,
        null=True)
    type_name = models.CharField(
        db_column='typeName',
        max_length=100,
        blank=True,
        null=True)
    description = models.TextField(blank=True, null=True)
    mass = models.FloatField(blank=True, null=True)
    volume = models.FloatField(blank=True, null=True)
    capacity = models.FloatField(blank=True, null=True)
    portion_size = models.IntegerField(
        db_column='portionSize', blank=True, null=True)
    race = models.ForeignKey(
        'ChrRace',
        on_delete=models.DO_NOTHING,
        db_column='raceID',
        blank=True,
        null=True)
    base_price = models.DecimalField(
        db_column='basePrice',
        max_digits=19,
        decimal_places=4,
        blank=True,
        null=True)
    published = models.NullBooleanField()
    market_group = models.ForeignKey(
        'InvMarketGroup', on_delete=models.DO_NOTHING,
        db_column='marketGroupID', blank=True, null=True)
    icon = models.ForeignKey(
        'EveIcon',
        on_delete=models.DO_NOTHING,
        db_column='iconID',
        blank=True,
        null=True)
    sound_id = models.IntegerField(db_column='soundID', blank=True, null=True)
    graphic_id = models.IntegerField(
        db_column='graphicID', blank=True, null=True)

    @staticmethod
    def get_pk_field():
        return 'type_id'

    def __str__(self):
        return self.type_name

    @staticmethod
    def get_name_field():
        return 'type_name'

    class Meta(object):
        managed = False
        verbose_name = 'Inv Types'
        db_table = 'sde_invTypes'


class InvUniqueName(models.Model):
    item_id = models.IntegerField(db_column='itemID', primary_key=True)
    item_name = models.CharField(db_column='itemName', max_length=200)
    group = models.ForeignKey(
        'InvGroup',
        on_delete=models.DO_NOTHING,
        db_column='groupID',
        blank=True,
        null=True)

    @staticmethod
    def get_pk_field():
        return 'item_id'

    @staticmethod
    def get_name_field():
        return None

    class Meta(object):
        managed = False
        verbose_name = 'Inv Unique Names'
        db_table = 'sde_invUniqueNames'
        unique_together = (('item_name', 'item_name'),)


class InvVolume(models.Model):
    type_id = models.IntegerField(db_column='typeID', primary_key=True)
    volume = models.IntegerField(blank=True, null=True)

    @staticmethod
    def get_pk_field():
        return 'type_id'

    @staticmethod
    def get_name_field():
        return None

    class Meta(object):
        managed = False
        verbose_name = 'Inv Volumes'
        db_table = 'sde_invVolumes'


class MapCelestialStatistic(models.Model):
    celestial_id = models.IntegerField(
        db_column='celestialID', primary_key=True)
    temperature = models.FloatField(blank=True, null=True)
    spectral_class = models.CharField(
        db_column='spectralClass',
        max_length=10,
        blank=True,
        null=True)
    luminosity = models.FloatField(blank=True, null=True)
    age = models.FloatField(blank=True, null=True)
    life = models.FloatField(blank=True, null=True)
    orbit_radius = models.FloatField(
        db_column='orbitRadius', blank=True, null=True)
    eccentricity = models.FloatField(blank=True, null=True)
    mass_dust = models.FloatField(db_column='massDust', blank=True, null=True)
    mass_gas = models.FloatField(db_column='massGas', blank=True, null=True)
    fragmented = models.NullBooleanField()
    density = models.FloatField(blank=True, null=True)
    surface_gravity = models.FloatField(
        db_column='surfaceGravity', blank=True, null=True)
    escape_velocity = models.FloatField(
        db_column='escapeVelocity', blank=True, null=True)
    orbit_period = models.FloatField(
        db_column='orbitPeriod', blank=True, null=True)
    rotation_rate = models.FloatField(
        db_column='rotationRate', blank=True, null=True)
    locked = models.NullBooleanField()
    pressure = models.FloatField(blank=True, null=True)
    radius = models.FloatField(blank=True, null=True)
    mass = models.IntegerField(blank=True, null=True)

    @staticmethod
    def get_pk_field():
        return 'celestial_id'

    @staticmethod
    def get_name_field():
        return None

    class Meta(object):
        managed = False
        verbose_name = 'Map Celestial Statistics'
        db_table = 'sde_mapCelestialStatistics'


class MapConstellationJump(models.Model):
    from_region_id = models.IntegerField(
        db_column='fromRegionID', blank=True, null=True)
    from_constellation_id = models.IntegerField(
        db_column='fromConstellationID', primary_key=True)
    to_constellation_id = models.IntegerField(db_column='toConstellationID')
    to_region_id = models.IntegerField(
        db_column='toRegionID', blank=True, null=True)

    @staticmethod
    def get_pk_field():
        return 'from_constellation_id'

    @staticmethod
    def get_name_field():
        return None

    class Meta(object):
        managed = False
        verbose_name = 'Map Constellation Jumps'
        db_table = 'sde_mapConstellationJumps'
        unique_together = (('from_constellation_id', 'to_constellation_id'),)


class MapConstellation(models.Model):
    region = models.ForeignKey(
        'MapRegion',
        on_delete=models.DO_NOTHING,
        db_column='regionID',
        blank=True,
        null=True)
    constellation_id = models.IntegerField(
        db_column='constellationID', primary_key=True)
    constellation_name = models.CharField(
        db_column='constellationName',
        max_length=100,
        blank=True,
        null=True)
    x = models.FloatField(blank=True, null=True)
    y = models.FloatField(blank=True, null=True)
    z = models.FloatField(blank=True, null=True)
    x_min = models.FloatField(db_column='xMin', blank=True, null=True)
    x_max = models.FloatField(db_column='xMax', blank=True, null=True)
    y_min = models.FloatField(db_column='yMin', blank=True, null=True)
    y_max = models.FloatField(db_column='yMax', blank=True, null=True)
    z_min = models.FloatField(db_column='zMin', blank=True, null=True)
    z_max = models.FloatField(db_column='zMax', blank=True, null=True)
    faction = models.ForeignKey(
        'ChrFaction',
        on_delete=models.DO_NOTHING,
        db_column='factionID',
        blank=True,
        null=True)
    radius = models.FloatField(blank=True, null=True)

    @staticmethod
    def get_pk_field():
        return 'constellation_id'

    def __str__(self):
        return self.constellation_name

    @staticmethod
    def get_name_field():
        return 'constellation_name'

    class Meta(object):
        managed = False
        verbose_name = 'Map Constellations'
        db_table = 'sde_mapConstellations'


class MapDenormalize(models.Model):
    item_id = models.IntegerField(db_column='itemID', primary_key=True)
    type = models.ForeignKey(
        'InvType',
        on_delete=models.DO_NOTHING,
        db_column='typeID',
        blank=True,
        null=True)
    group = models.ForeignKey(
        'InvGroup',
        on_delete=models.DO_NOTHING,
        db_column='groupID',
        blank=True,
        null=True)
    solar_system = models.ForeignKey(
        'MapSolarSystem', on_delete=models.DO_NOTHING,
        db_column='solarSystemID', blank=True, null=True)
    constellation = models.ForeignKey(
        'MapConstellation', on_delete=models.DO_NOTHING,
        db_column='constellationID', blank=True, null=True)
    region = models.ForeignKey(
        'MapRegion',
        on_delete=models.DO_NOTHING,
        db_column='regionID',
        blank=True,
        null=True)
    orbit_id = models.IntegerField(db_column='orbitID', blank=True, null=True)
    x = models.FloatField(blank=True, null=True)
    y = models.FloatField(blank=True, null=True)
    z = models.FloatField(blank=True, null=True)
    radius = models.FloatField(blank=True, null=True)
    item_name = models.CharField(
        db_column='itemName',
        max_length=100,
        blank=True,
        null=True)
    security = models.FloatField(blank=True, null=True)
    celestial_index = models.IntegerField(
        db_column='celestialIndex', blank=True, null=True)
    orbit_index = models.IntegerField(
        db_column='orbitIndex', blank=True, null=True)

    @staticmethod
    def get_pk_field():
        return 'item_id'

    @staticmethod
    def get_name_field():
        return None

    class Meta(object):
        managed = False
        verbose_name = 'Map Denormalize'
        db_table = 'sde_mapDenormalize'


class MapJump(models.Model):
    stargate_id = models.IntegerField(db_column='stargateID', primary_key=True)
    destination_id = models.IntegerField(
        db_column='destinationID', blank=True, null=True)

    @staticmethod
    def get_pk_field():
        return 'stargate_id'

    @staticmethod
    def get_name_field():
        return None

    class Meta(object):
        managed = False
        verbose_name = 'Map Jumps'
        db_table = 'sde_mapJumps'


class MapLandmark(models.Model):
    landmark_id = models.IntegerField(db_column='landmarkID', primary_key=True)
    landmark_name = models.CharField(
        db_column='landmarkName',
        max_length=100,
        blank=True,
        null=True)
    description = models.TextField(blank=True, null=True)
    location = models.ForeignKey(
        'MapDenormalize',
        on_delete=models.DO_NOTHING,
        db_column='locationID',
        blank=True,
        null=True)
    x = models.FloatField(blank=True, null=True)
    y = models.FloatField(blank=True, null=True)
    z = models.FloatField(blank=True, null=True)
    icon = models.ForeignKey(
        'EveIcon',
        on_delete=models.DO_NOTHING,
        db_column='iconID',
        blank=True,
        null=True)

    @staticmethod
    def get_pk_field():
        return 'landmark_id'

    def __str__(self):
        return self.landmark_name

    @staticmethod
    def get_name_field():
        return 'landmark_name'

    class Meta(object):
        managed = False
        verbose_name = 'Map Landmarks'
        db_table = 'sde_mapLandmarks'


class MapLocationScene(models.Model):
    location_id = models.IntegerField(db_column='locationID', primary_key=True)
    graphic = models.ForeignKey(
        'EveGraphic',
        on_delete=models.DO_NOTHING,
        db_column='graphicID',
        blank=True,
        null=True)

    @staticmethod
    def get_pk_field():
        return 'location_id'

    @staticmethod
    def get_name_field():
        return None

    class Meta(object):
        managed = False
        verbose_name = 'Map Location Scenes'
        db_table = 'sde_mapLocationScenes'


class MapLocationWormholeClass(models.Model):
    location_id = models.IntegerField(db_column='locationID', primary_key=True)
    wormhole_class_id = models.IntegerField(
        db_column='wormholeClassID', blank=True, null=True)

    @staticmethod
    def get_pk_field():
        return 'location_id'

    @staticmethod
    def get_name_field():
        return None

    class Meta(object):
        managed = False
        verbose_name = 'Map Location Wormhole Classes'
        db_table = 'sde_mapLocationWormholeClasses'


class MapRegionJump(models.Model):
    from_region_id = models.IntegerField(
        db_column='fromRegionID', primary_key=True)
    to_region_id = models.IntegerField(db_column='toRegionID')

    @staticmethod
    def get_pk_field():
        return 'from_region_id'

    @staticmethod
    def get_name_field():
        return None

    class Meta(object):
        managed = False
        verbose_name = 'Map Region Jumps'
        db_table = 'sde_mapRegionJumps'
        unique_together = (('from_region_id', 'to_region_id'),)


class MapRegion(models.Model):
    region_id = models.IntegerField(db_column='regionID', primary_key=True)
    region_name = models.CharField(
        db_column='regionName',
        max_length=100,
        blank=True,
        null=True)
    x = models.FloatField(blank=True, null=True)
    y = models.FloatField(blank=True, null=True)
    z = models.FloatField(blank=True, null=True)
    x_min = models.FloatField(db_column='xMin', blank=True, null=True)
    x_max = models.FloatField(db_column='xMax', blank=True, null=True)
    y_min = models.FloatField(db_column='yMin', blank=True, null=True)
    y_max = models.FloatField(db_column='yMax', blank=True, null=True)
    z_min = models.FloatField(db_column='zMin', blank=True, null=True)
    z_max = models.FloatField(db_column='zMax', blank=True, null=True)
    faction = models.ForeignKey(
        'ChrFaction',
        on_delete=models.DO_NOTHING,
        db_column='factionID',
        blank=True,
        null=True)
    radius = models.FloatField(blank=True, null=True)

    @staticmethod
    def get_pk_field():
        return 'region_id'

    def __str__(self):
        return self.region_name

    @staticmethod
    def get_name_field():
        return 'region_name'

    class Meta(object):
        managed = False
        verbose_name = 'Map Regions'
        db_table = 'sde_mapRegions'


class MapSolarSystemJump(models.Model):
    from_region_id = models.IntegerField(
        db_column='fromRegionID', blank=True, null=True)
    from_constellation_id = models.IntegerField(
        db_column='fromConstellationID', blank=True, null=True)
    from_solar_system_id = models.IntegerField(
        db_column='fromSolarSystemID', primary_key=True)
    to_solar_system_id = models.IntegerField(db_column='toSolarSystemID')
    to_constellation_id = models.IntegerField(
        db_column='toConstellationID', blank=True, null=True)
    to_region_id = models.IntegerField(
        db_column='toRegionID', blank=True, null=True)

    @staticmethod
    def get_pk_field():
        return 'from_solar_system_id'

    @staticmethod
    def get_name_field():
        return None

    class Meta(object):
        managed = False
        verbose_name = 'Map Solar System Jumps'
        db_table = 'sde_mapSolarSystemJumps'
        unique_together = (('from_solar_system_id', 'to_solar_system_id'),)


class MapSolarSystem(models.Model):
    region = models.ForeignKey(
        'MapRegion',
        on_delete=models.DO_NOTHING,
        db_column='regionID',
        blank=True,
        null=True)
    constellation = models.ForeignKey(
        'MapConstellation', on_delete=models.DO_NOTHING,
        db_column='constellationID', blank=True, null=True)
    solar_system_id = models.IntegerField(
        db_column='solarSystemID', primary_key=True)
    solar_system_name = models.CharField(
        db_column='solarSystemName',
        max_length=100,
        blank=True,
        null=True)
    x = models.FloatField(blank=True, null=True)
    y = models.FloatField(blank=True, null=True)
    z = models.FloatField(blank=True, null=True)
    x_min = models.FloatField(db_column='xMin', blank=True, null=True)
    x_max = models.FloatField(db_column='xMax', blank=True, null=True)
    y_min = models.FloatField(db_column='yMin', blank=True, null=True)
    y_max = models.FloatField(db_column='yMax', blank=True, null=True)
    z_min = models.FloatField(db_column='zMin', blank=True, null=True)
    z_max = models.FloatField(db_column='zMax', blank=True, null=True)
    luminosity = models.FloatField(blank=True, null=True)
    border = models.NullBooleanField()
    fringe = models.NullBooleanField()
    corridor = models.NullBooleanField()
    hub = models.NullBooleanField()
    international = models.NullBooleanField()
    regional = models.NullBooleanField()
    # Field renamed because of name conflict.
    constellation_0 = models.NullBooleanField(db_column='constellation')
    security = models.FloatField(blank=True, null=True)
    faction = models.ForeignKey(
        'ChrFaction',
        on_delete=models.DO_NOTHING,
        db_column='factionID',
        blank=True,
        null=True)
    radius = models.FloatField(blank=True, null=True)
    sun_type_id = models.IntegerField(
        db_column='sunTypeID', blank=True, null=True)
    security_class = models.CharField(
        db_column='securityClass',
        max_length=2,
        blank=True,
        null=True)

    @staticmethod
    def get_pk_field():
        return 'solar_system_id'

    def __str__(self):
        return self.solar_system_name

    @staticmethod
    def get_name_field():
        return 'solar_system_name'

    class Meta(object):
        managed = False
        verbose_name = 'Map Solar Systems'
        db_table = 'sde_mapSolarSystems'


class MapUniverse(models.Model):
    universe_id = models.IntegerField(db_column='universeID', primary_key=True)
    universe_name = models.CharField(
        db_column='universeName',
        max_length=100,
        blank=True,
        null=True)
    x = models.FloatField(blank=True, null=True)
    y = models.FloatField(blank=True, null=True)
    z = models.FloatField(blank=True, null=True)
    x_min = models.FloatField(db_column='xMin', blank=True, null=True)
    x_max = models.FloatField(db_column='xMax', blank=True, null=True)
    y_min = models.FloatField(db_column='yMin', blank=True, null=True)
    y_max = models.FloatField(db_column='yMax', blank=True, null=True)
    z_min = models.FloatField(db_column='zMin', blank=True, null=True)
    z_max = models.FloatField(db_column='zMax', blank=True, null=True)
    radius = models.FloatField(blank=True, null=True)

    @staticmethod
    def get_pk_field():
        return 'universe_id'

    def __str__(self):
        return self.universe_name

    @staticmethod
    def get_name_field():
        return 'universe_name'

    class Meta(object):
        managed = False
        verbose_name = 'Map Universe'
        db_table = 'sde_mapUniverse'


class PlanetSchematic(models.Model):
    schematic_id = models.IntegerField(
        db_column='schematicID', primary_key=True)
    schematic_name = models.CharField(
        db_column='schematicName',
        max_length=255,
        blank=True,
        null=True)
    cycle_time = models.IntegerField(
        db_column='cycleTime', blank=True, null=True)

    @staticmethod
    def get_pk_field():
        return 'schematic_id'

    @staticmethod
    def get_name_field():
        return None

    class Meta(object):
        managed = False
        verbose_name = 'Planet Schematics'
        db_table = 'sde_planetSchematics'


class PlanetSchematicsPinMap(models.Model):
    schematic_id = models.IntegerField(
        db_column='schematicID', primary_key=True)
    pin_type_id = models.IntegerField(db_column='pinTypeID')

    @staticmethod
    def get_pk_field():
        return 'schematic_id'

    @staticmethod
    def get_name_field():
        return None

    class Meta(object):
        managed = False
        verbose_name = 'Planet Schematics Pin Map'
        db_table = 'sde_planetSchematicsPinMap'
        unique_together = (('schematic_id', 'pin_type_id'),)


class PlanetSchematicsTypeMap(models.Model):
    schematic_id = models.IntegerField(
        db_column='schematicID', primary_key=True)
    type = models.ForeignKey(
        'InvType',
        on_delete=models.DO_NOTHING,
        db_column='typeID')
    quantity = models.IntegerField(blank=True, null=True)
    is_input = models.NullBooleanField(db_column='isInput')

    @staticmethod
    def get_pk_field():
        return 'schematic_id'

    @staticmethod
    def get_name_field():
        return None

    class Meta(object):
        managed = False
        verbose_name = 'Planet Schematics Type Map'
        db_table = 'sde_planetSchematicsTypeMap'
        unique_together = (('schematic_id', 'type'),)


class RamActivity(models.Model):
    activity_id = models.IntegerField(db_column='activityID', primary_key=True)
    activity_name = models.CharField(
        db_column='activityName',
        max_length=100,
        blank=True,
        null=True)
    icon_no = models.CharField(
        db_column='iconNo',
        max_length=5,
        blank=True,
        null=True)
    description = models.CharField(max_length=1000, blank=True, null=True)
    published = models.NullBooleanField()

    @staticmethod
    def get_pk_field():
        return 'activity_id'

    def __str__(self):
        return self.activity_name

    @staticmethod
    def get_name_field():
        return 'activity_name'

    class Meta(object):
        managed = False
        verbose_name = 'Ram Activities'
        db_table = 'sde_ramActivities'


class RamAssemblyLineStation(models.Model):
    station_id = models.IntegerField(db_column='stationID', primary_key=True)
    assembly_line_type = models.ForeignKey(
        'RamAssemblyLineType',
        on_delete=models.DO_NOTHING,
        db_column='assemblyLineTypeID')
    quantity = models.IntegerField(blank=True, null=True)
    station_type = models.ForeignKey(
        'StaStationType', on_delete=models.DO_NOTHING,
        db_column='stationTypeID', blank=True, null=True)
    owner_id = models.IntegerField(db_column='ownerID', blank=True, null=True)
    solar_system = models.ForeignKey(
        'MapSolarSystem', on_delete=models.DO_NOTHING,
        db_column='solarSystemID', blank=True, null=True)
    region = models.ForeignKey(
        'MapRegion',
        on_delete=models.DO_NOTHING,
        db_column='regionID',
        blank=True,
        null=True)

    @staticmethod
    def get_pk_field():
        return 'station_id'

    @staticmethod
    def get_name_field():
        return None

    class Meta(object):
        managed = False
        verbose_name = 'Ram Assembly Line Stations'
        db_table = 'sde_ramAssemblyLineStations'
        unique_together = (('station_id', 'assembly_line_type'),)


class RamAssemblyLineTypeDetailPerCategory(models.Model):
    assembly_line_type_id = models.IntegerField(
        db_column='assemblyLineTypeID', primary_key=True)
    category = models.ForeignKey(
        'InvCategory',
        on_delete=models.DO_NOTHING,
        db_column='categoryID')
    time_multiplier = models.FloatField(
        db_column='timeMultiplier', blank=True, null=True)
    material_multiplier = models.FloatField(
        db_column='materialMultiplier', blank=True, null=True)
    cost_multiplier = models.FloatField(
        db_column='costMultiplier', blank=True, null=True)

    @staticmethod
    def get_pk_field():
        return 'assembly_line_type_id'

    @staticmethod
    def get_name_field():
        return None

    class Meta(object):
        managed = False
        verbose_name = 'Ram Assembly Line Type Detail Per Category'
        db_table = 'sde_ramAssemblyLineTypeDetailPerCategory'
        unique_together = (('assembly_line_type_id', 'category'),)


class RamAssemblyLineTypeDetailPerGroup(models.Model):
    assembly_line_type_id = models.IntegerField(
        db_column='assemblyLineTypeID', primary_key=True)
    group = models.ForeignKey(
        'InvGroup',
        on_delete=models.DO_NOTHING,
        db_column='groupID')
    time_multiplier = models.FloatField(
        db_column='timeMultiplier', blank=True, null=True)
    material_multiplier = models.FloatField(
        db_column='materialMultiplier', blank=True, null=True)
    cost_multiplier = models.FloatField(
        db_column='costMultiplier', blank=True, null=True)

    @staticmethod
    def get_pk_field():
        return 'assembly_line_type_id'

    @staticmethod
    def get_name_field():
        return None

    class Meta(object):
        managed = False
        verbose_name = 'Ram Assembly Line Type Detail Per Group'
        db_table = 'sde_ramAssemblyLineTypeDetailPerGroup'
        unique_together = (('assembly_line_type_id', 'group'),)


class RamAssemblyLineType(models.Model):
    assembly_line_type_id = models.IntegerField(
        db_column='assemblyLineTypeID', primary_key=True)
    assembly_line_type_name = models.CharField(
        db_column='assemblyLineTypeName',
        max_length=100, blank=True,
        null=True)
    description = models.CharField(max_length=1000, blank=True, null=True)
    base_time_multiplier = models.FloatField(
        db_column='baseTimeMultiplier', blank=True, null=True)
    base_material_multiplier = models.FloatField(
        db_column='baseMaterialMultiplier', blank=True, null=True)
    base_cost_multiplier = models.FloatField(
        db_column='baseCostMultiplier', blank=True, null=True)
    volume = models.FloatField(blank=True, null=True)
    activity = models.ForeignKey(
        'RamActivity',
        on_delete=models.DO_NOTHING,
        db_column='activityID',
        blank=True,
        null=True)
    min_cost_per_hour = models.FloatField(
        db_column='minCostPerHour', blank=True, null=True)

    @staticmethod
    def get_pk_field():
        return 'assembly_line_type_id'

    def __str__(self):
        return self.assembly_line_type_name

    @staticmethod
    def get_name_field():
        return 'assembly_line_type_name'

    class Meta(object):
        managed = False
        verbose_name = 'Ram Assembly Line Types'
        db_table = 'sde_ramAssemblyLineTypes'


class RamInstallationTypeContent(models.Model):
    installation_type_id = models.IntegerField(
        db_column='installationTypeID', primary_key=True)
    assembly_line_type = models.ForeignKey(
        'RamAssemblyLineType',
        on_delete=models.DO_NOTHING,
        db_column='assemblyLineTypeID')
    quantity = models.IntegerField(blank=True, null=True)

    @staticmethod
    def get_pk_field():
        return 'installation_type_id'

    @staticmethod
    def get_name_field():
        return None

    class Meta(object):
        managed = False
        verbose_name = 'Ram Installation Type Contents'
        db_table = 'sde_ramInstallationTypeContents'
        unique_together = (('installation_type_id', 'assembly_line_type'),)


class SkinLicense(models.Model):
    license_type_id = models.IntegerField(
        db_column='licenseTypeID', primary_key=True)
    duration = models.IntegerField(blank=True, null=True)
    skin = models.ForeignKey(
        'Skin',
        on_delete=models.DO_NOTHING,
        db_column='skinID',
        blank=True,
        null=True)

    @staticmethod
    def get_pk_field():
        return 'license_type_id'

    @staticmethod
    def get_name_field():
        return None

    class Meta(object):
        managed = False
        verbose_name = 'Skin License'
        db_table = 'sde_skinLicense'


class SkinMaterial(models.Model):
    skin_material_id = models.IntegerField(
        db_column='skinMaterialID', primary_key=True)
    display_name_id = models.IntegerField(
        db_column='displayNameID', blank=True, null=True)
    material_set_id = models.IntegerField(
        db_column='materialSetID', blank=True, null=True)

    @staticmethod
    def get_pk_field():
        return 'skin_material_id'

    @staticmethod
    def get_name_field():
        return None

    class Meta(object):
        managed = False
        verbose_name = 'Skin Materials'
        db_table = 'sde_skinMaterials'


class SkinShip(models.Model):
    skin = models.ForeignKey(
        'Skin',
        on_delete=models.DO_NOTHING,
        db_column='skinID',
        blank=True,
        null=True)
    type = models.ForeignKey(
        'InvType',
        on_delete=models.DO_NOTHING,
        db_column='typeID',
        blank=True,
        null=True)

    @staticmethod
    def get_pk_field():
        return 'id'

    # Autogenerated substitute primary key
    id = models.IntegerField(primary_key=True)

    @staticmethod
    def get_name_field():
        return None

    class Meta(object):
        managed = False
        verbose_name = 'Skin Ship'
        db_table = 'sde_skinShip'


class Skin(models.Model):
    skin_id = models.IntegerField(db_column='skinID', primary_key=True)
    internal_name = models.CharField(
        db_column='internalName',
        max_length=70,
        blank=True,
        null=True)
    skin_material = models.ForeignKey(
        'SkinMaterial', on_delete=models.DO_NOTHING,
        db_column='skinMaterialID', blank=True, null=True)

    @staticmethod
    def get_pk_field():
        return 'skin_id'

    @staticmethod
    def get_name_field():
        return None

    class Meta(object):
        managed = False
        verbose_name = 'Skins'
        db_table = 'sde_skins'


class StaOperationService(models.Model):
    operation_id = models.IntegerField(
        db_column='operationID', primary_key=True)
    service = models.ForeignKey(
        'StaService',
        on_delete=models.DO_NOTHING,
        db_column='serviceID')

    @staticmethod
    def get_pk_field():
        return 'operation_id'

    @staticmethod
    def get_name_field():
        return None

    class Meta(object):
        managed = False
        verbose_name = 'Sta Operation Services'
        db_table = 'sde_staOperationServices'
        unique_together = (('operation_id', 'service'),)


class StaOperation(models.Model):
    activity = models.ForeignKey(
        'CrpActivity',
        on_delete=models.DO_NOTHING,
        db_column='activityID',
        blank=True,
        null=True)
    operation_id = models.IntegerField(
        db_column='operationID', primary_key=True)
    operation_name = models.CharField(
        db_column='operationName',
        max_length=100,
        blank=True,
        null=True)
    description = models.CharField(max_length=1000, blank=True, null=True)
    fringe = models.IntegerField(blank=True, null=True)
    corridor = models.IntegerField(blank=True, null=True)
    hub = models.IntegerField(blank=True, null=True)
    border = models.IntegerField(blank=True, null=True)
    ratio = models.IntegerField(blank=True, null=True)
    caldari_station_type_id = models.IntegerField(
        db_column='caldariStationTypeID', blank=True, null=True)
    minmatar_station_type_id = models.IntegerField(
        db_column='minmatarStationTypeID', blank=True, null=True)
    amarr_station_type_id = models.IntegerField(
        db_column='amarrStationTypeID', blank=True, null=True)
    gallente_station_type_id = models.IntegerField(
        db_column='gallenteStationTypeID', blank=True, null=True)
    jove_station_type_id = models.IntegerField(
        db_column='joveStationTypeID', blank=True, null=True)

    @staticmethod
    def get_pk_field():
        return 'operation_id'

    def __str__(self):
        return self.operation_name

    @staticmethod
    def get_name_field():
        return 'operation_name'

    class Meta(object):
        managed = False
        verbose_name = 'Sta Operations'
        db_table = 'sde_staOperations'


class StaService(models.Model):
    service_id = models.IntegerField(db_column='serviceID', primary_key=True)
    service_name = models.CharField(
        db_column='serviceName',
        max_length=100,
        blank=True,
        null=True)
    description = models.CharField(max_length=1000, blank=True, null=True)

    @staticmethod
    def get_pk_field():
        return 'service_id'

    def __str__(self):
        return self.service_name

    @staticmethod
    def get_name_field():
        return 'service_name'

    class Meta(object):
        managed = False
        verbose_name = 'Sta Services'
        db_table = 'sde_staServices'


class StaStationType(models.Model):
    station_type_id = models.IntegerField(
        db_column='stationTypeID', primary_key=True)
    dock_entry_x = models.FloatField(
        db_column='dockEntryX', blank=True, null=True)
    dock_entry_y = models.FloatField(
        db_column='dockEntryY', blank=True, null=True)
    dock_entry_z = models.FloatField(
        db_column='dockEntryZ', blank=True, null=True)
    dock_orientation_x = models.FloatField(
        db_column='dockOrientationX', blank=True, null=True)
    dock_orientation_y = models.FloatField(
        db_column='dockOrientationY', blank=True, null=True)
    dock_orientation_z = models.FloatField(
        db_column='dockOrientationZ', blank=True, null=True)
    operation = models.ForeignKey(
        'StaOperation',
        on_delete=models.DO_NOTHING,
        db_column='operationID',
        blank=True,
        null=True)
    office_slots = models.IntegerField(
        db_column='officeSlots', blank=True, null=True)
    reprocessing_efficiency = models.FloatField(
        db_column='reprocessingEfficiency', blank=True, null=True)
    conquerable = models.NullBooleanField()

    @staticmethod
    def get_pk_field():
        return 'station_type_id'

    @staticmethod
    def get_name_field():
        return None

    class Meta(object):
        managed = False
        verbose_name = 'Sta Station Types'
        db_table = 'sde_staStationTypes'


class StaStation(models.Model):
    station_id = models.BigIntegerField(
        db_column='stationID', primary_key=True)
    security = models.FloatField(blank=True, null=True)
    docking_cost_per_volume = models.FloatField(
        db_column='dockingCostPerVolume', blank=True, null=True)
    max_ship_volume_dockable = models.FloatField(
        db_column='maxShipVolumeDockable', blank=True, null=True)
    office_rental_cost = models.IntegerField(
        db_column='officeRentalCost', blank=True, null=True)
    operation = models.ForeignKey(
        'StaOperation',
        on_delete=models.DO_NOTHING,
        db_column='operationID',
        blank=True,
        null=True)
    station_type = models.ForeignKey(
        'StaStationType', on_delete=models.DO_NOTHING,
        db_column='stationTypeID', blank=True, null=True)
    corporation = models.ForeignKey(
        'CrpNPCCorporation',
        on_delete=models.DO_NOTHING,
        db_column='corporationID',
        blank=True,
        null=True)
    solar_system = models.ForeignKey(
        'MapSolarSystem', on_delete=models.DO_NOTHING,
        db_column='solarSystemID', blank=True, null=True)
    constellation = models.ForeignKey(
        'MapConstellation', on_delete=models.DO_NOTHING,
        db_column='constellationID', blank=True, null=True)
    region = models.ForeignKey(
        'MapRegion',
        on_delete=models.DO_NOTHING,
        db_column='regionID',
        blank=True,
        null=True)
    station_name = models.CharField(
        db_column='stationName',
        max_length=100,
        blank=True,
        null=True)
    x = models.FloatField(blank=True, null=True)
    y = models.FloatField(blank=True, null=True)
    z = models.FloatField(blank=True, null=True)
    reprocessing_efficiency = models.FloatField(
        db_column='reprocessingEfficiency', blank=True, null=True)
    reprocessing_stations_take = models.FloatField(
        db_column='reprocessingStationsTake', blank=True, null=True)
    reprocessing_hangar_flag = models.IntegerField(
        db_column='reprocessingHangarFlag', blank=True, null=True)

    @staticmethod
    def get_pk_field():
        return 'station_id'

    def __str__(self):
        return self.station_name

    @staticmethod
    def get_name_field():
        return 'station_name'

    class Meta(object):
        managed = False
        verbose_name = 'Sta Stations'
        db_table = 'sde_staStations'


class TranslationTable(models.Model):
    source_table = models.CharField(
        db_column='sourceTable',
        primary_key=True,
        max_length=200)
    destination_table = models.CharField(
        db_column='destinationTable',
        max_length=200,
        blank=True,
        null=True)
    translated_key = models.CharField(
        db_column='translatedKey', max_length=200)
    tc_group_id = models.IntegerField(
        db_column='tcGroupID', blank=True, null=True)
    tc = models.ForeignKey(
        'TrnTranslationColumn',
        on_delete=models.DO_NOTHING,
        db_column='tcID',
        blank=True,
        null=True)

    @staticmethod
    def get_pk_field():
        return 'source_table'

    @staticmethod
    def get_name_field():
        return None

    class Meta(object):
        managed = False
        verbose_name = 'Translation Tables'
        db_table = 'sde_translationTables'
        unique_together = (('source_table', 'translated_key'),)


class TrnTranslationColumn(models.Model):
    tc_group_id = models.IntegerField(
        db_column='tcGroupID', blank=True, null=True)
    tc_id = models.IntegerField(db_column='tcID', primary_key=True)
    table_name = models.CharField(db_column='tableName', max_length=256)
    column_name = models.CharField(db_column='columnName', max_length=128)
    master_id = models.CharField(
        db_column='masterID',
        max_length=128,
        blank=True,
        null=True)

    @staticmethod
    def get_pk_field():
        return 'tc_id'

    @staticmethod
    def get_name_field():
        return None

    class Meta(object):
        managed = False
        verbose_name = 'Trn Translation Columns'
        db_table = 'sde_trnTranslationColumns'


class TrnTranslationLanguage(models.Model):
    numeric_language_id = models.IntegerField(
        db_column='numericLanguageID', primary_key=True)
    language_id = models.CharField(
        db_column='languageID',
        max_length=50,
        blank=True,
        null=True)
    language_name = models.CharField(
        db_column='languageName',
        max_length=200,
        blank=True,
        null=True)

    @staticmethod
    def get_pk_field():
        return 'numeric_language_id'

    @staticmethod
    def get_name_field():
        return None

    class Meta(object):
        managed = False
        verbose_name = 'Trn Translation Languages'
        db_table = 'sde_trnTranslationLanguages'


class TrnTranslation(models.Model):
    tc_id = models.IntegerField(db_column='tcID', primary_key=True)
    key_id = models.IntegerField(db_column='keyID')
    language_id = models.CharField(db_column='languageID', max_length=50)
    text = models.TextField()

    @staticmethod
    def get_pk_field():
        return 'tc_id'

    @staticmethod
    def get_name_field():
        return None

    class Meta(object):
        managed = False
        verbose_name = 'Trn Translations'
        db_table = 'sde_trnTranslations'
        unique_together = (('tc_id', 'key_id', 'language_id'),)


class WarCombatZoneSystem(models.Model):
    solar_system_id = models.IntegerField(
        db_column='solarSystemID', primary_key=True)
    combat_zone = models.ForeignKey(
        'WarCombatZone',
        on_delete=models.DO_NOTHING,
        db_column='combatZoneID',
        blank=True,
        null=True)

    @staticmethod
    def get_pk_field():
        return 'solar_system_id'

    @staticmethod
    def get_name_field():
        return None

    class Meta(object):
        managed = False
        verbose_name = 'War Combat Zone Systems'
        db_table = 'sde_warCombatZoneSystems'


class WarCombatZone(models.Model):
    combat_zone_id = models.IntegerField(
        db_column='combatZoneID', primary_key=True)
    combat_zone_name = models.CharField(
        db_column='combatZoneName',
        max_length=100,
        blank=True,
        null=True)
    faction = models.ForeignKey(
        'ChrFaction',
        on_delete=models.DO_NOTHING,
        db_column='factionID',
        blank=True,
        null=True)
    center_system_id = models.IntegerField(
        db_column='centerSystemID', blank=True, null=True)
    description = models.CharField(max_length=500, blank=True, null=True)

    @staticmethod
    def get_pk_field():
        return 'combat_zone_id'

    def __str__(self):
        return self.combat_zone_name

    @staticmethod
    def get_name_field():
        return 'combat_zone_name'

    class Meta(object):
        managed = False
        verbose_name = 'War Combat Zones'
        db_table = 'sde_warCombatZones'
