@classmethod<EOL><INDENT>def from_tsv(cls, line, field_names, timezone_in_use=pytz.utc, database=None):<DEDENT>
from six import next<EOL>values = iter(parse_tsv(line))<EOL>kwargs = {}<EOL>for name in field_names:<EOL><INDENT>field = getattr(cls, name)<EOL>kwargs[name] = field.to_python(next(values), timezone_in_use)<EOL><DEDENT>obj = cls(**kwargs)<EOL>if database is not None:<EOL><INDENT>obj.set_database(database)<EOL><DEDENT>return obj<EOL>
Create a model instance from a tab-separated line. The line may or may not include a newline.
The `field_names` list must match the fields defined in the model, but does not have to include all of them.

- `line`: the TSV-formatted data.
- `field_names`: names of the model fields in the data.
- `timezone_in_use`: the timezone to use when parsing dates and datetimes.
- `database`: if given, sets the database that this instance belongs to.