"""Magic: The Gathering face-level reference models.""" from odoo import fields, models class MvdTcgMtgCardFace(models.Model): """Represent one ordered printed face of an MTG card reference.""" _name = "mvd.tcg.mtg.card.face" _description = "MTG Card Face" _order = "card_id, sequence, id" card_id = fields.Many2one( "mvd.tcg.card", required=True, index=True, ondelete="cascade", ) sequence = fields.Integer(default=10, index=True) name = fields.Char(required=True, translate=True, index="trigram") mana_cost = fields.Char() type_line = fields.Char(translate=True) oracle_text = fields.Text(translate=True) flavor_text = fields.Text(translate=True) power = fields.Char() toughness = fields.Char() loyalty = fields.Char() artist = fields.Char(index="trigram") _card_sequence_unique = models.Constraint( "UNIQUE (card_id, sequence)", "The MTG face sequence must be unique per card.", )