Files
test-auth/eve_api/models/character.py

61 lines
2.9 KiB
Python

from django.db import models
from eve_api.app_defines import *
from eve_api.models import EVEAPIModel
class EVEPlayerCharacter(EVEAPIModel):
"""
Represents an individual player character within the game. Not to be
confused with an account.
"""
name = models.CharField(max_length=255, blank=True, null=False)
corporation = models.ForeignKey('eve_api.EVEPlayerCorporation', blank=True, null=True)
corporation_date = models.DateTimeField(blank=True, null=True, verbose_name="Corporation Join Date")
race = models.IntegerField(blank=True, null=True, choices=API_RACES_CHOICES)
gender = models.IntegerField(blank=True, null=True, choices=API_GENDER_CHOICES)
balance = models.FloatField("Account Balance", blank=True, null=True)
attrib_intelligence = models.IntegerField("Intelligence", blank=True, null=True)
attrib_memory = models.IntegerField("Memory", blank=True, null=True)
attrib_charisma = models.IntegerField("Charisma", blank=True, null=True)
attrib_perception = models.IntegerField("Perception", blank=True, null=True)
attrib_willpower = models.IntegerField("Willpower", blank=True, null=True)
total_sp = models.IntegerField("Total SP", blank=True, null=True)
security_status = models.FloatField("Security Status", blank=True, null=True)
current_location_id = models.IntegerField("Current Location ID", blank=True, null=True)
last_login = models.DateTimeField(blank=True, null=True,
verbose_name="Last Login Date/Time",
help_text="The last time this character logged into EVE")
last_logoff = models.DateTimeField(blank=True, null=True, verbose_name="Last Logoff Date/Time",
help_text="The last time this character logged off EVE")
director = models.BooleanField(blank=False, default=False, verbose_name="Director",
help_text="This character is a Director of the associated corporation")
roles = models.ManyToManyField('eve_api.EVEPlayerCharacterRole', blank=True, null=True,
help_text="Roles associated with this character")
skills = models.ManyToManyField('eve_api.EVESkill', through='eve_api.EVEPlayerCharacterSkill')
def __unicode__(self):
if self.name:
return self.name
else:
return u"(%d)" % self.id
class Meta:
app_label = 'eve_api'
verbose_name = 'Player Character'
verbose_name_plural = 'Player Characters'
class EVEPlayerCharacterSkill(models.Model):
"""
For our m2m join to EVESkills
"""
character = models.ForeignKey('eve_api.EVEPlayerCharacter')
skill = models.ForeignKey('eve_api.EVESkill')
level = models.IntegerField()
class Meta:
app_label = 'eve_api'
verbose_name = 'Player Character Skill'
verbose_name_plural = 'Player Character Skills'