Why only 10 reference fields?

My project has hit a wall because I can’t have more than 10 reference items in a collection, and I need 23.

I’ve scoured the web and there appears to be no workaround for this, and Webflow doesn’t even lift the limit for Enterprise customers.

So my question is… WHY??? Why have such a low cap on a feature that can be so critical, without any possible workaround? Help me understand this madness.

Most likely the internal costs of the queries and processing.
I can’t answer that on behalf of Webflow, and I don’t know the internal engineering well enough to even make an educated guess.

However there are always workarounds.

I’m assuming you want to stick with the CMS, and that you’re looking for some means to build and utilize relationships in the form A multiref B.

The easiest way is to add a third collection C which stores cross references;

C ref A
C ref B

There, you can describe any number of relationships between A and B.
You access them by binding a collection list to C, and filtering, either on A or B or both.

Note that just like regular CMS structures, you’ll hit limits with specific scenarios such as nested lists, so you may need some JS to organize your UI the way you want.

Hi Michael, thanks for your reply. I’ve seen you reply on a number of similar queries relating to this topic and you appear to be somewhat of an expert, so I value your input very much. However I don’t think your workaround works for my use case, but I’d be very happy to be corrected…

In my case, Collection A needs to reference B, so that on the template page of collection A I can pull values from collection B into an HTML embed (which I believe rules out filtering).

That works fine- single refs can be navigated in Embed fields.

The best thing is to prototype it and see where you hit limitations that will require scripts and creative thinking.

Yea, that is the way that I am pulling my reference field data in my initial prototype, which works great except I am limited to only 10 reference fields (shown in the image I attached), but this method hasn’t worked on any of the subsequent prototypes I’ve created to test workarounds.

Maybe I’m not fully understanding your solution. Would you mind elaborating on how you create cross references with collection C? I’m not really clear on what you mean by a ‘cross-reference’ and how this solves the problem.

Hi Mark,

I can’t give much more than I described above. It’s a separate collection. You have one row per relationship, so there are no limits on the number or types of relationships, except the CMS item limits themselves.

I’ve added some notes here;

I use this pattern regularly on client projects when we hit ref limits, you can direct message me if you need some work done, and I can send you my details.

But how are you not still limited by the same 10 reference field limit? Because C must still rely on reference fields to connect it to A and B?

If you’re not clear on how it works, you should try it.
You’ll really only understand the technique once you work with it.

I’ve been trying it this whole time, in every possible different variation I can think of, but I don’t think what you’re saying is possible, unless we’re talking about two completely different things.

A post was split to a new topic: Insight on getting around the 10 reference field limit?

I can engineer a design plan for you, but I’d need to see the exact views you’re wanting to create, and your data model, in order to design that. Contact me if you need that work done, and I’ll send you my rates.

I cannot give you any deep design guidance other than the xref pattern I’ve already pointed you to. When you learn to use it, you can unlock pretty much every limitation you’re facing with multirefs.

At the crudest level of schema design, you can think of the xref pattern and the C collection as a replacement for an individual multiref field. It’s much more versatile than that, but it’s a good place to start your understanding.

Therefore in the crudest possible approach, you could eliminate those 23 multiref fields and replace them with 23 C tables following the xref pattern. Then, A and B have zero multiref fields, and each C has 2 single-ref fields.

But that’s wasteful requires a lot of table creation. Typically I’d seek to build this in a more hyper-normalized schema design where all 23 tables are combined into one, with a few type tables to differentiate.

  • All of the schema decisions you make depend on the views you want to create.
  • Complex data models will generally result in complex admin.
  • Pretty much any limitation on the view end can be bridged with good page design, good use of collection lists, and custom JS. Use fetch only when you must, it is generally not needed.

Is there anyone here who knows a workaround for this but isn’t just trying to hawk their paid services via cryptic but ultimately non-helpful comments? All I’m looking for here is a pointer for how to get started, I’m not expecting anyone else to do the grunt work.


Wow, someone spending time and providing a writeup on how to accomplish something should be thanked. @memetican is one of the most helpful people in the forums. Good luck with your project.

I agree but did you read his comments, like really read them? On the surface they look helpful but if you really analyse them in detail for hours, like I did, you realize he deliberately gives the most vague and cryptic info, when he could just describe how to actually achieve it in much fewer words.

All he essentially says is “it’s possible but I can’t tell you how unless you pay me”, and that isn’t in the spirit of a community forum like the one I hope we have here. If you check my message history, you’ll see instances where I give actual solutions freely, and even provide free cloneables to help fellow community members. I hope that’s the kind of community we have here, and not just a place for promotion of professional services.

Lots of folks in the community — including @memetican and @webdev — provide tons of free assistance, but not appreciating someones time is definitely going to make it harder for others to justify walking you through the steps to get this set up.

Personally I have no idea how to get around a limitation, but @memetican has replied four times in the 20 hours since you made this thread with helpful information pointing you towards the solution. It may not get you to the finish line, but just because he doesn’t need to “do the grunt work for you” doesn’t mean his knowledge of how to set this up isn’t worth anything.

Just keep in mind that most of us who are active in the community don’t work for Webflow and our time here is likely between our full-time jobs.

Seems like you guys are defending him just based on the fact he posts a lot and sometimes helps people, without having properly read his actual replies on this post and realizing he didn’t actually help at all, or try to. If you read through his post history you’ll also notice he references his own business and attempts to solicit work an awful lot for someone who is attempting to assist the community out of the goodness of his heart.

I am extremely appreciative of anybody who takes time out of their day to provide guidance, but properly read his comments and you’ll see he didn’t actually provide any guidance.

:laughing: I’m happy with my contributions to the community.

It’s interesting to watch your unhappiness with your lack of understanding turn into personal attacks on the people trying to help you. Always keep in mind this is a community, none of us are here to serve you.

If you see an answer as “vague” or “not specific enough” for your needs, it means that your understanding of how to apply it needs improvement, and that the problem you’re trying to solve is more complex than you were hoping it would be.

When you asked how to reach your goal as efficiently as possible, I pointed you to the mountains and explained the path you would need to take through them to succeed. I gave as much detail as I possibly could, without actually engineering your site for you…

But I didn’t volunteer to be your Sherpa. Especially for free.
If you need a Sherpa, go find one and hire them. Otherwise, you’ll need to learn to climb those mountains yourself.

I’m fairly certain that if someone expected you to spend a few hours of your life on them, without even showing the smallest amount of gratitude, you would tell them just where they could shove it.

Calling your response vague and unhelpful isn’t personally attacking you. And nobody asked you to be a sherpa or engineer anything.

You’re being dishonest if you’re trying to say that your answer of “you need to setup a third collection list” and refusing to answer the obvious follow up question of how to link it to the other collections, unless I pay you, is “giving as much detail as you possibly could”, or in the spirit of helping the community.

You could quite easily have just said “Collection C links to A and B via single ref fields within C” or whatever the answer is. Do you owe me that answer? Of course not. But you are kind of wasting my time if your responses only amount to “I know the answer but I won’t tell you”.

@marklovin—Your first post shows you “hit the wall” due to a published Webflow limitation. Webflow is full of them, and I don’t limit my options to Webflow alone. If Webflow is not a fit, I look at tools that extend it. If none of those are a match, I move to something else that meets my requirements. Something like Wized might work for you.

Webflow limits joins because they are expensive compute operations or have hit a hard limit on the stack they built on. Mongo is not a relational database.

This thread is spiraling away from the original topic towards an unproductive back-and-forth about whether help was or wasn’t provided. From what I can tell, it looks like the original question (Why only 10 reference fields?) was answered by both @memetican and @webdev:

@marklovin - Since you have a follow-up about how setting up a structure to get around the 10 reference field limitation, I’ve broken one of your initial replies into a separate thread with a title that will hopefully get some attention from other folks in the community who may be able to give more insight.