def test_null_field_factory(): class ShouldBeNullField(models.Field): pass class FooModel(models.Model): should_be_null = ShouldBeNullField() foo = models.IntegerField() register_field_factory(ShouldBeNullField, lambda **_: None) form = Form.from_model(data=None, model=FooModel) assert list(form.fields_by_name.keys()) == ['foo']
from django.shortcuts import get_object_or_404 from django.template import Template from django.template.loader import get_template from django.utils.safestring import mark_safe from tri.declarative import dispatch from tri.form import register_field_factory, Form, Field, Link, bool_parse from tri.form.compat import render from tri.form.views import create_or_edit_object from tri.table import render_table_to_response, Column, render_table from forum import RoomPaginator, PAGE_SIZE from forum.models import Room, Message, User, bytes_from_int from unread import set_time, get_user_time, set_user_time, is_subscribed, subscription_data from unread.models import SubscriptionTypes register_field_factory(BinaryField, lambda **_: None) Form.Meta.base_template = 'forum/base.html' def rooms(request): return render_table_to_response(request, table__model=Room) def pre_format(s): s = s.replace('\t', ' ') s = re.sub('^( +)', lambda m: ' ' * len(m.groups()[0]), s, flags=re.MULTILINE) s = s.replace('\n', '<br>')
def test_register_field_factory(): register_field_factory(FooField, lambda **kwargs: 7) assert Field.from_model(RegisterFieldFactoryTest, 'foo') == 7