Interesting that they use "type" as a field for the Format class:
class Format(models.Model): type = models.CharField(choices=...
type() is a Python function, so it doesn't make sense to use "type" as a field name. I found out the hard way that this causes bugs.